存储现在各种持久化方案十分成熟。我己经很长时间不再在性能关键的运行时系统中使用关系型存储了;同时它仍有用武之地并有许多开源的选择。 这些关系型数据库之后出现的方案也足够完善。从轻量级的内存缓存到可以操作巨型数据的软件,都有对应的软件可供挑选。你可以看看Cassandra,如果你最近听过Adrian Cockcroft的演讲,知道Netfilx如何使用它的时候,你就会感到吃惊。 高手们都把磁盘当成新式磁带一样,找到合理地使用它的方式。 而另一方面…… 客户端的混乱情况十分糟糕。你需要造三遍轮子:Web、iOS、Android。我们缺乏人才,而这样的开发环境十分浪费,一直折磨着我们。 移动端太糟此处略去Android和iOS的具体差异,在工程上来说,这些差异不是十分显著,但是,仍然有以下糟糕之处:
当然,HTML5热潮正当其时,告诉人们,如果人们开发的是移动Web应用的时候,所有的不利之处(尤其是第一条)就将消解。 但是…… 浏览器同样很糟糕 虽然这是个老生常谈的话题,但是还是看不出为什么它如此充满争议。
浏览器的API也很糟糕,所以人们都基于jQuery(以及类似的库)看作在此之上编程的底层库,因此让JS变成了Web时代的汇编语言。 于是,在实际构造应用程序的时候,你就需要挑选更高层次的框架。网上有很多这样的框架,很容易就能搜索到相关的信息,像这个:Rich JavaScript Applications – the Seven Frameworks (Throne of JS, 2012)。但是这个已经是18个月前的信息了,放到现在可能完全是错误的。你可能会喜欢有更多选择,但是这样下去会造成“寒武纪大爆发”式的增长。我觉得2113年的软件架构师会喜欢研究这些问题的。 (同时,请阅读:Tero Piirainen的 Frameworkless JavaScript)
好了好了,我知道每个以Web为中心的大型会议,那些眼睛闪耀光芒的,充满激情,真心相信浏览器的信徒们会向你展示HTML5的酷炫之处。而且他们也可以使用加速度传感器配合麦克风写出移动设备上的独特APP呢。 |