你搞清楚pc和移动网页的区别了吗?今天,鲁牛学院将为大家系统梳理一下!看完记得收藏!
运行方式
pc和手机有明显的区别。pc用鼠标操作,包括滑动、左键、右键、双击。操作比较简单,交互作用比较小。对于手机来说,它包括手指操作,如点击、滑动、双击、两指缩放、两指收缩、五指收缩和苹果最新的3dtouch按压力。除了手指操作,还可以配合传感器完成晃动和晃动
屏幕大小
随着时间的推移,移动设备的屏幕逐渐增大,但无论你有多大,毫无疑问,一台pc的屏幕太大了。pc屏幕大,所以他的可视范围更广,设计的地方更多,设计性更强,容错性相对更高。移动设备屏幕相对较小,操作受限,因此可用空间在设计上尤为珍贵。用粗手指在小屏幕上操作也需要避免原设计太小太近。
网络环境
目前,移动终端和pc终端都不能脱离网络,pc终端设备更稳定地连接到网络。然而,移动终端可能会遇到信号问题,导致网络环境差、网络速度差,甚至网络断开。这就要求产品经理在设计中充分考虑网络问题,更好地设计相应的解决方案。
传感器
重型武器来自移动设备,完美的传感器是pc设备无法企及的,压力、方向、重力、gps、nfc、指纹识别、3dtouch、陀螺仪等。正是因为这些传感器的存在,我们的生活才更加丰富多彩。有了他们,你可以玩赛车游戏,摇摇妹妹,数数自己每天走了多少步。在产品设计中巧妙运用传感器,可以为产品增添光彩。
使用场景和使用时间
让我们一起来谈谈这两个部分。由于pc设备的使用场景多为家庭或学校公司等固定场景,其使用时间往往具有持久性,会在特定时间段内继续使用,而移动设备则不受限制。他们可以吃,可以骑,可以拉屎,可以无聊的打发时间,可以躺下,可以坐,可以倒立。没人管你,所以他想用就用,所以他的使用时间更灵活,时间也更多。
软件迭代时间和更新频率
你是不是很久没有更新pc软件了,但是手机软件一直都是最新的状态,这就是两者的区别。对于移动终端来说,其软件迭代时间较短,用户更新率较高,而pc终端软件迭代时间较长,除了需要之外,用户一般不会主动更新软件,软件更新率较低。
不加油继续旅行
除了笔记本电脑pc,他从来没有考虑过这个问题,只要它有电源,但移动设备需要考虑。
作用设计
你见过手机端的下拉菜单吗,你见过pc端的滑动解锁吗?同样的功能在不同的设备上有自己的表现形式。
为何越是发达国家,越不流行移动支付,无现金时代有多可怕?
移动支付相信大家都很熟悉,这是近年来国内最流行的交易方式。与传统的现金支付相比,移动支付具有方便、可操作性高的优点,所以短短几年就能积累上亿用户!
在国内移动支付市场,支付宝和微信支付占据绝对领先地位,无论是用户量还是交易量都远远领先于其他平台。举个简单的例子,现在基本上所有的商家都支持支付宝和微信支付,就连路边摊也会随身携带收款码!
移动支付在中国的普及是肉眼可见的,我们每个人都见证了一个新时代的到来,而传统的现金交易方式正在被淘汰。但这只是我们国内的情况。在一些发达国家,现金支付仍然是主流方式,移动支付没有那么普及。
而且越发达的国家,移动支付越不普及,非常害怕无现金时代,比如美国。那么为什么会这样呢?无现金时代有多可怕,为什么那些发达国家不愿意接受移动支付?
首先,第一个原因是很多外国人认为移动支付不安全,而传统的现金交易更让人放心。无现金时代意味着市场上没有现金流通,人与企业之间的交易是在互联网上进行的。所以,移动支付无疑会带来一定的安全威胁!
虽然互联网已经达到了顶峰,但其稳定性和安全性仍有待讨论。如果移动支付过程中网络出现问题,那么这种交易会带来很多麻烦,威胁到用户资金的安全。另一方面,现金交易,一手交钱,一手交钱,简单明了,没有任何错误!
要知道移动支付是存在于互联网上的,互联网本身是不可控的,外国人没有理由担心。以我国为例,虽然移动支付确实给人们带来了更好的消费体验,但也诱发了很多本不应该发生的问题,如错误转账、网络诈骗等。
其次,第二个原因是外国人更注重隐私保护。他们认为移动支付和无现金时代将威胁个人隐私。事实上,这个问题在世界上每个国家都很普遍,因为现在是信息时代,个人隐私不可避免地会被泄露,无论你如何保护,都无法完全消除这种现象。
但是在移动支付过程中,隐私泄露的可能性大大增加,这也是发达国家所担心的。众所周知,移动支付一般由第三方平台推出,需要用户的详细资料才能正常使用。如果这些平台的隐私保护措施做得不好,用户的数据很可能被关心的人截取,后果不堪设想!
因此,发达国家不愿意看到移动支付普及,因为这将增加隐私泄露的风险。在这方面,我们应该向他们学习,因为中国很多人隐私意识不强,即使有问题,也不会太在意,更不会及时解决。
最后,移动支付在发达国家不流行,害怕无现金时代的第三个原因是,他们认为账户里的钱只是一套数据,只有掌握了现金才是他们真正的资产!换句话说,移动支付产生的交易对他们来说不是真实的,只是号码之间的相互转换!
很多人可能很难理解这些发达国家的想法,但不得不说,他们还是思考的很深。当我们把钱存入移动支付账户时,现金就变成了一串数字。虽然也可以用来交易,但是看不见摸不着。谁能确定一定是真的?
所以移动支付还存在一些问题,在发达国家不流行是有一定原因的。至于为什么移动支付在中国如此受欢迎,可能是因为人们的思维方式不同,无现金时代对中国人没有太大威胁。
那么你如何看待移动支付和无现金时代?欢迎留言转发!
大前端趋势下移动端程序员要凉?这些进阶技能助你逆袭
在市场吃紧、前端大的趋势下,移动程序员如何规划职业生涯,保持竞争力?今天,100要约邀请了爱奇艺负责移动金融产品研发的孔涛。他会和大家分享大前端的发展趋势,android开发需要的高级技能,移动程序员的职业发展道路。
作者简介:
孔涛目前负责爱奇艺科技产品中心金融产品的移动r&d。拥有7年android开发经验,曾在新浪、百度等大型互联网公司担任android工程师,负责新闻、地图等应用的研发。熟悉android系统原理和大型app的模块化、组件化、插件化架构设计方案。
移动互联网时代到来后,移动app成为新的主流,需要开发android和ios。有不同的版本,如视窗手机。早期主要开发以phonegap为代表的hybrid表单和嵌入在app中的webview,浪费人力物力。
自2015年react native以来,weex、flutter、kotlin-native等跨平台框架相继出现。随着微信小程序和手机厂商的快速应用,前端技术在移动端的使用场景越来越多。因此,越来越多的公司在组织结构上进行了相应的调整,以适应这种大的前端趋势。以前团队主要由移动程序员组成。现在除了android/ios开发,还有rn/h5/小程序等开发者。
那么,大前端趋势是否意味着传统 native android 程序员需要转型?
android和ios是唯一主流的移动操作系统。以前者为例,android已经广泛应用于手机、平板、车载网络、物联网、智能电视等领域,是名副其实的终端霸主。另外,android在国内手机市场的市场份额超过80%,短期内被其他os替代的可能性很低,所以原生程序员还是有非常大的市场的。
现在的技术分工越来越细化,也意味着大部分企业都需要专门的人才,最好是多领域的熟练和精通。去大公司面试安卓。如果你的android技术不深,面试官对了解剩下的前端、后端、python技术不感兴趣。所以,并不是能得到的越多越好。一定要做好减法,先专攻一科,再学其他技术。
大前端时代,合格的开发者应该是js ios/android。可以是熟练的前端,学一点原生,也可以是原生程序员会js。如果公司以app为主,注重用户交互体验,合理的路线是原生app开发者坚持提炼原生部分,然后学习js前端知识,拓宽技术栈。
一. 从初中级到高级,移动端程序员的进阶宝典
我们以android开发为例,梳理一下大前端趋势下从初级到高级的移动程序员需要的技能点,推荐一些实用的书籍和资料。
(一) 硬技能:专业的技术知识
java / kotlin开发语言
(1) java
常用数据结构:.的数组列表、向量、副本写数组列表、哈希表、并发哈希表、哈希表等使用场景
jvm 虚拟机包括java内存管理、gc垃圾收集机制和类加载机制。推荐书籍:《深入理解 java 虚拟机 jvm 高级特性与最佳实践》。
多线程编程,包括线程池、锁机制和线程同步。推荐书籍: 《java 并发编程实战》和《java 多线程编程核心技术》。
aop 编程实现,包括jdk动态代理实现,asm直接操作字节码,cglib实现,其原理封装了asm,使用起来更方便。
javassist:修改了加载字节码之前需要直接切入的方法,并对android中开源库广泛使用的处理器apt进行了标注,如data binding、butterknife、event bus 3等。
异常处理 exception,包括运行时检查异常和异常处理。
io 流相关,包括阻塞输入输出和非阻塞输入输出。
java 的一些高性特级,如反射、代理、泛型、枚举、正则表达式等等;同时,了解jdk1.8、1.9和1.10等新特性。相关书籍很多,推荐《thinking in java》和《effective java》。
(2) kotlin
kotlin是一种基于jvm的新型编程语言,在google io 2017中被google宣布为官方android开发语言。
kotlin 有哪些优点?
简洁性:提供了许多标准功能,这大大减少了模板代码的数量。
安全性:避免了空指针异常等错误。
互操作性:充分利用现有的jvm、android和浏览器库。
工具友好:可以用任何java集成开发环境或使用命令行来构建。
在kotlin中,您需要树立函数式编程思想.函数被理解为从一个值到另一个值的映射关系,每个业务逻辑作为一个单元来处理。该函数可以用作参数或返回值。使用kotlin提供的标准函数,如let、run、with、apply、还和lambda表达式。尽量使用闭包和高阶函数。
科特林的另一个突出特点是协程,它为设计异步和非阻塞程序提供了一个强大的范例。协同进程是一个轻量级线程,它提供了一个更便宜和可控的操作:协同进程暂停,以避免阻塞。复杂的异步操作放入底层库,程序逻辑可以顺序表达,简化了异步编程。
最后,让我们简单谈谈kotlin/native。其初衷是支持非jvm虚拟机平台环境下的编程,如ios、嵌入式平台等。并支持与c的互操作性。推荐书籍:《kotlin 实战》.
2. android 进阶技术点
进程相关,包括app过程原理和aidl原理。
性能优化,包括:内存、cpu、功耗、网络请求、ui布局、线程、数据库等优化方法和优化工具的使用。
android 源码相关,包括:绑定机制、活动启动过程、处理器原理、ams、pms、wms原理、视图绘制过程、触摸事件传输机制等。
编译打包流程,从java/kotlin源代码到apk的最终形成。
目前,热修复的实现原理,有多种热修复框架,包括底部替换、类加载和即时运行。
逆向工程原理,主要是为了防止apk被分解和破解,了解apk加固方案。
在插件化,目前也有很多方案,主流的技术实现是hook模式,其中activity注册占坑,activity占坑由ams验证,插件activity恢复,其他组件原理类似。
ndk 开发,给jni打电话,给爪哇打回去。
自定义控件,我们需要关注onmeasure、onlayout和ondraw的通话时机,以及touch事件的分发机制。
动画 view animation,视图动画很早就在安卓版系统中提供了,只能用来设置视图动画。
属性动画 property animation,仅适用于3.0或更高版本,可以设置为任何对象,包括尚未在屏幕上渲染的对象。这种动画是可扩展的,任何类型和属性的动画都可以定制。
webview 中 native js 交互,常用的jsbridge等。
gradle 的特性以及 dsl 语法,例如使用gradle转换api,允许第三方插件在编译后的类文件转换成索引文件之前对其进行操作。利用这个特性,我们可以在代码编译阶段实现代码注入或者代码修改,这也是很多埋藏技术和热修复技术的基础。
安全性:https通信原理,数据加密方法,包括md5,rsa,webview安全,代码混淆,数据验证,组件通信安全,服务器通信。
ci 持续集成:詹金斯、吉他谱ci等。构建持续集成的开发工具。
sersor 传感器:包括陀螺仪、加速度传感器、方向传感器、重力传感器、光传感器等。
android 开发国际化.
art 和 dalvik 虚拟机的区别,主要是aot,提前预编译。
熟悉 dex 文件结构。
单元测试: junit 4,androidjunitrunner,使用mockito框架。
自动化测试:猴子/猴子赛跑者、浓缩咖啡、ui automator等。
掌握模块化开发方式:注意层间和模块间的通信。
代码重构能力,推荐书籍:《重构改善既有代码的设计》 、 《重构与模式》
google 动态化框架 app bundles.
jetpack,由谷歌推出的新一代组件、工具和架构指南,旨在加快安卓应用的开发。jetpack主要分为四个部分:
android开发常用的第三方库:
响应性编程:rxjava,rxandroid,谷歌的agera
网络库:包括改装,okhttp,凌空
照片:壁画,吉尔德,毕加索
依赖注入:dagger2
数据库:领域、ormlite、绿道、对象盒
数据总线:eventbus,otto
内存泄漏检测工具leakcanary等
如果每一个技能点都详细展开,就会形成一个相当复杂的知识图谱。建议你自己整理、总结、消化。
3. ooad 和设计模式
在架构设计中,首先要掌握的是面向对象的开发设计。具体的知识点包括:
面向对象三大特性:封装,继承
,多态性。
五大基本原则(solid 原则),单一责任原则、开与闭原则、里克特替换原则、依赖倒置原则和界面分离原则。
23 种设计模式:常用的有工厂、单例、适配器、桥、组合、代理、命令、观察者、策略、状态模式等等。
4. app架构设计
包括mvc、mvp、mvvm、mvi、viper、干净架构和flux。目前除了mvc之外,mvp和mvvm应用比较广泛,具体架构设计要结合业务考虑。
(二) 软技能
人走在职场,江湖。高级程序员光有技术深度是不够的。他们还需要掌握许多软技能,注重综合职业素质的培养。有很多人一开始注意力不够,在职场后半段上升过程中容易遇到瓶颈。
以下是我个人对资深程序员必备软技能的总结,供大家参考。
1. 快速学习能力:包括技术的深度和广度,可以不断探索新技术,不断学习。
2. 沟通能力:"s的表达、阅读和写作能力即使在今天的先进技术中也不会过时。因为任何沟通方式在企业内部都是非常必要的。
3. 团队协作能力:的开发商很容易陷入孤立的人际交往,但开发工作永远不可能由一个人完成。成员只有真正融入团队,与其他同事顺利沟通合作,才能体现其真正的价值,被列为未来晋升候选人的概率更大。
4. 时间管理能力:可以参考时间管理的“四象限法则”,专注于处理重要但不紧急的任务,以便提前计划。
5. 影响力:一方面是商业影响,另一方面是技术影响。其中,提高技术影响力的途径包括:参与技术共享,总结传播积累的知识;参与技术方案评审,分享技术经验;帮助新生解决技术问题;在博客、github、stackoverflow等平台分享。
6. 文档编写能力:
代码注释.很多程序员很少写评论,或者评论太多不合适。多参考开源项目的注释规范。
编写技术设计文档.包括流程图,类图,功能序列图等等。
另外,我推荐一本书:《软技能——代码之外的生存指南》
二. 技术专家vs管理,哪条路更适合你?
工作3-5年,已经进阶到高级程序员。很多人开始面临一个问题:未来的发展方向是技术专家还是技术管理?哪条职业发展道路更适合他们?
选择哪条路线,首先要知道自己想要什么。想做技术还是管理,关系到目标和职业规划。每个人的实际情况不同,建议做出符合自己性格的选择,并坚持下去。即使一时看不到效果,也总能看到很久的效果。
1. 怎样的程序员适合做技术专家?
技术专家的核心就是深入而精通。熟悉某个技术领域,对代码编写保持激情,不断学习新技术,能够静下心来做技术而不是急功近利。人比较内向,不善于沟通协调,不愿意花很多时间和团队在一起,主要负责关键技术的专业化和极致化。这样的人更适合技术路线开发,比如技术专家,建筑师。
2. 怎样的程序员适合转型技术管理?
首先,要清楚,通常所说的技术管理者都需要做哪些事?
团队建设:人员激励、团队文化、梯队建设。
任务管理:任务分工和任务合作。
管理规划:研究新技术,支持新服务的重建等。
相应地,所需能力包括:向上汇报与向下沟通能力、团队管理能力、人员培训能力、上下游部门的合作与控制能力、业务需求沟通能力、重大问题决策能力、长期目标规划能力、执行能力等。
总的来说,管理能力和技术能力的要求是大相径庭的。作为技术经理,首先要有角色认知的转变,不是从程序员的角度,而是从更高的角度。推荐有兴趣走管理路线的移动程序员参考这本书:《成为技术领导者》.
3. 两种发展路径的异同点
(1) 不同点:技术专家更多依赖个人技术能力,需要结合业务做技术规划、框架设计、性能优化和技术创新;技术经理是协助团队一起做产品,负责团队内外的组织、沟通和协调。
毕竟,(2) 相同点:需要面对管理,但管理任务越来越少。即使你是架构师,也需要带领一个技术团队。
所以,以后无论走纯技术路线还是非技术路线,都需要增加管理技能,因为最后需要管理沟通。当你处在一个很高的层次,但还是不和任何人打交道的时候,很少会单纯依靠个人能力去贡献。
4. 如果选择错误,是否还有二次选择机会?
我觉得首先要考虑职业目标和职业规划。频繁的变动对职业生涯影响很大。
(1) 技术转向管理:应提前掌握相关管理知识,改变角色认知,以团队为出发点思考,多了解业务,提高部门内部影响力,有合适的晋升机会进行转型。
(2) 管理转回技术:,如果你面临许多跨部门的沟通,并且觉得在性格和其他因素上不合适,你需要尽快做出决定,转而回到技术开发上来。
三. 大前端趋势下,移动端程序员如何保持竞争力?
我从招聘网站上摘录了一些一线公司的职位描述要求:
至少3年工作经验,对移动终端底层和原理有深入了解,独立领导或开发一个以上产品的核心项目,有丰富的项目经验或管理能力,有react native或weex的实践经验,掌握一些前端开发技术,html/javascript/css等。前端开发经验是加分项。
可见市场对android程序员的需求越来越大。除了掌握android的底层原理,还需要前端js等技术。
自2007年第一代iphone在今天我们已经进入了终端碎片化的时代。发布以来的12年里,没有迹象表明智能手机已经被取代。但创新还在继续,比如智能手表、电视、眼镜、戴vr等。可想而知,这样的设备还会继续增加。
这些新设备也是新平台。类似智能手机,可以安装第三方应用,这些平台基本都支持浏览器或者嵌入式浏览器引擎。随着早期的hybrid和后来的react native的探索,前端开发已经成为显示终端应用开发中必不可少的技术。
因此,大前端趋势对移动端程序员而言,最大的影响就是新的移动开发技术栈。
作为主流终端,移动设备的应用开发技术也应该是大前端最关注的技术。以前技术栈的移动开发侧重于原生开发,现在的趋势是跨平台技术日趋激烈。
那么,在如今技术快速变化的环境下,移动端程序员该如何保持竞争力?
第一,加强android/ios技术的深度储备,深入了解系统的底层原理,不断投入新技术。
其次,逐步完善前端技术栈,扩大其广度,熟悉前端js、rn、flutter等跨平台框架。
最后,选择并完善android子领域,如应用开发、反向安全、音视频、车联网、物联网、手机开发、sdk开发、智能电视盒开发等。并从中选择一个继续深化。
四. q a
(q代表网友提问,a代表孔涛回答)
q: 您是从什么时候开始带团队的?刚开始从纯技术转向管理岗会遇到什么困难?如何克服?
a:我大概4年前开始带领团队,一个人独立贡献了很多人的团队发展。一个人的能力是有限的,驱使大家去解决问题。心态上有需要克服的变化。决策认知有变化。
q: 我一直在中小型公司做小团队管理者,后续发展突破口在哪里,是否可以进入大厂转技术路线?
a:你的突破在于技术的提升,这是一条不错的路线。在大厂做技术没问题。但是要想继续做管理,首先要提升一些大厂的经验,做技术,然后慢慢来
a:没有绝对答案。如果你之前在大公司带过小团队,积累过经验,那么在创业公司带大团队是没问题的。相反,如果你没有经验,对新事物缺乏一些了解,那么你去小工厂领导大团队的时候,可能会遇到一些瓶颈。所以我个人建议先去大厂锻炼。
中国移动冰激凌套餐(移动冰激凌98元a和b套餐区别)
2018年以来,以工信部为首的三大运营商做出了“取消全国漫游费”的承诺。近日,中国移动率先推出全国免费漫游冰淇淋套餐,月费98元。
这个套餐基本资费98元,全国流量最高100gb,全国语音通话时间300分钟。值得注意的是,当使用流量超过20gb,为100gb时,用户可以选择以128k/s的速度免费上网,或者以15元/gb的价格购买无限制流量。
300分钟的免费通话时长实际上包括220分钟的基本通话和12个月网络接入后的80分钟免费通话。当然也可以一开始就订一年的合同,提前80分钟的通话时间。
众所周知,中国移动在流量套餐上一直比较保守,在过去的一年里,中国联通和中国电信基本没有参与互联网手机套餐大战。
这个雪糕包应该是中国不漫游的第一枪。虽然中国移动暂时只开放了河南的处理入口,但是对投递地址没有限制。此外,没有漫游功能。其实用户可以跨省办理,提前享受全国流量带来的体验。