一、底层的逻辑的优化
1.通用性
功能机
知道兄台开发过裸机没,我玩过STM32系列的ARM裸机开发,在大多数情况下是在一个while(1)死循环里面执行一些固定步骤的任务。早期的功能机压根就没有操作系统。都是各种模块拼凑起来的,各模块完成相应的功能即可。
智能机
具有开放性的操作系统:拥有独立的核心处理器(CPU)和内存,可以安装更多的应用程序,使智能手机的功能可以得到无限扩展。
思考
就像为什么第一台电脑是1946年2月15日在美国宾夕法尼亚大学诞生的ENIAC通用电子计算机?而不是有着更早时间的其他的电子计算机,因为通用性。算式有了通用性,它就不单单只是针对一个特定问题的解法,而升格成为了针对一类问题的"公式"。
通用性是变革的因素之一,它能扩展产品的应用规模,而应用规模则决定着它是否能成为主流。
2.更方便
功能机
如果没有强大的操作系统,想要开发一款APP你还得底层看datasheet,看寄存器得多麻烦,所以现在操作系统的方便性就显得尤为重要。
智能机
对开发者而言无需考虑底层硬件即可开发APP,对用户来说交互方便人性化。
思考
就像计算机的语言演进一样一样,机器码0101→汇编ADD→高级语言,开发者需要记忆的机械知识就越少,越容易上手,开发者使用的规模越大。就像Java虚拟机一样为什么会很受欢迎。
如果要开发一款应用,如果不需要考虑底层,就能更高效。
二、应用层的优化
1.可扩充性
功能机
原先的功能机的操作系统基本上什么程序都是内置的,基本上被写死了,功能也不可以扩充,要想增加功能只有等着换新手机。其功能在手机的设计阶段就已经固化好了,可供用户自行配置和扩展的部分很少。尽管目前很多非智能手机也允许用户安装自己的软件,但这些软件必须是专门设计过的。
智能机
后来逐渐有了塞班这样的操作系统,有的手机内置JVM(java虚拟机),可以下载安装一些Java应用程序,再后来就有了IOS、Android这样的强大的手机操作系统。安卓操作系统还可以剪裁定制,具备了扩充性。
思考
可扩展是一个关键点,没有第三方的支持,这就很难受。
对于用户来说,一切的功能实现都是黑箱,用户的感觉只来源于界面的感受,操作流程、五感如图形。
(1)输入方式
功能机
功能手机,就是用导航方向按键去找寻,用确定键去开启各种功能,不断重复重复再重复,或者根据屏幕文字提示,按压下一个按键进行操作,不管遇到什么样的场景,永远摆着一张呆板而一成不变的臭脸来应付
智能机
采用全面屏全触控方式,什么都没有的显示屏,却可以在任何地方或角落,设置各种虚拟的按键、按钮、对话框、导航条,标签条,工具条和状态条等输入模块
参考:
https://zhidao.baidu.com/question/758160630301477284.html
https://zhidao.baidu.com/question/435982315.html?word=&fr=wenda_ala&device=mobile&ssid=0&from=1086k&uid=0&pu=usm@1,sz@320_1002,ta@iphone_2_7.1_2_12137.1&bd_page_type=1&baiduid=F2B4746FA82F4F5BA4D8907DD82E4227&tj=wenda_1_0_10_l1
https://www.zhihu.com/question/20149982