05. WebApp2.0时代启程:倒立者赢,从过去到现在的变化,看将来的发展(一)

1. 移动互联网的兴起,我认为2009年是个分水岭。

开始的时候,我也是做Java开发,习惯了Webx架构,可以熟练的使用Spring、iBatis、veloctiy、HSF、Notify、Tair、Session这些阿里具有代表性的Java框架,也会使用IC、UIC、SC、DC等等服务集群做电商核心业务。
概括起来,基本也是三层服务端架构:
05. WebApp2.0时代启程:倒立者赢,从过去到现在的变化,看将来的发展(一)

2. 技术架构也非常稳定

后台MySQL分库分表、服务端HSF业务处理,前端浏览器使用Html做展示,技术人员的重叠率较低,公司内部资源达到了最大化价值体现,市场出现了一种声音:将来的计算机世界应该只有一个应用就是浏览器,浏览器入口是通向互联网的大门,谁占领了浏览器,谁就拥有了无线的用户流量。
这个需求在当时是正确的,各大巨头不断的把战线迁往更靠近用户的浏览器,国内浏览器以安全、急速、稳定为名,纷纷推出自己的浏览器,妄想从用户源头一招制敌。
AppStore的出现,彻底打破了这一局面:移动互联网时代,这种平衡被打破了,安全和体验成了主题,这个时代的技术架构和分工发生了巨变:

05. WebApp2.0时代启程:倒立者赢,从过去到现在的变化,看将来的发展(一)

3. 且不说移动端还有WindowPhone等小众系统。

从上图可以看到,移动互联网的到来,技术资源已经成倍的增加了开发成本,以商品详情页为例,浏览器要做两遍:PC和手机;终端要做两遍:Android、iOS,因此前端团队应该扩张了4倍以上,如果那个互联网公司没有无线端的app,都觉得不好意思(数据是我推测的,大家仁者见仁)。
有没有感觉这简直是逆商业的技术革命呢?技术是提供生产效率,降低成本为目的的,这也是商业公司的本质。存在即为合理,乔布斯也许真的看到了用户的本质需求,而不是一味的降低成本,长期忽略用户体验,所以等到智能手机系统爆发的那天,传统互联网企业还在停留在PC时代。

若要感知未来,必先读历史,读懂历史才会发现,人类社会的本质其实一直没有变化,只是换了一个新的名词,就像风投经常说,创业者要先学会造概念。

很荣幸,我们团队有济翼许凡这样的资深互联网技术牛人,听听他们的经历。
一个时代的落幕,总有一些关键的技术出现,或者变革,或者预示,或新生,这些时代,我们回顾一下发生了什么事情(个人总结的,勿喷)

4. ? ~ 2004年 PC端VC++App时代

代表企业:微软。。
PC端桌面操作系统的兴起,以window95为里程碑,在那个能买得起64M超大内存条的时代,硬件性能和资源可能还不如iphone4,native开发方式取得了巨大的成功,新的用户需求不断被挖掘,VC++等开发工具为开发者提供了巨大的便利。
2000年左右delphi的兴起,更是让桌面app的开发效率得到了极大的提升,当界面通过简单地拖拽就可以快速生成一个app的时候,下一个时代也悄悄来临了。
05. WebApp2.0时代启程:倒立者赢,从过去到现在的变化,看将来的发展(一)

5. 2005 ~ 2012年 浏览器Web2.0时代

代表企业:BAT
浏览器兴起了,从没有交互的Web1.0到支持JS、插件的Web2.0,无需安装、直接访问,再到后来人们把金钱交易也搬到了互联网,H5的开发方式太方便了,所见即所得。
客户端的与服务端的链接,从B/S结构,变成了现在DB+Server+H5的方式,进一步释放了Native开发方式的不足。
从几何时,网页三剑客:PhotoShop+Dreamweaver+Fireworks,成了这个时代的开发者宝典,可视化的拖拽的开发方式,进一步降低了H5的开发成本,下一个时代也悄悄来了。
05. WebApp2.0时代启程:倒立者赢,从过去到现在的变化,看将来的发展(一)

6. 2013 ~ now 移动App互联网时代

代表企业:谷歌、苹果
智能手机的硬件资源相对于PC很受限制,512M内存的手机在2012之前已经是非常令人羡慕的事情,H5的用户体验怎能和Native相比呢?这里就不多说了。
这个时候,ReactNative、PhoneGap等技术兴起了。。。
05. WebApp2.0时代启程:倒立者赢,从过去到现在的变化,看将来的发展(一)

总结 我们处在移动互联网最顶峰的时代,这是最好的也是最坏的

有人说,Android/iOS开发会一步步没落,新兴的JS、swift、lua、H5等脚本开发,是将来的方向。其实没有哪一个事物是一直充满光辉的,除了那些亘古不变的哲理。

下一章,我们也看看在后乔布斯时代,我们如何把技术成本进一步降低,哪怕是一点点。

上一篇:读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低(第二部分)


下一篇:GLSL透视矩阵(C语言)