移动端技术演进

大概可以用下图概括:WAP -> WEB APP -> Native APP -> Hybrid APP

图片来源于网络

手机站点

时代背景

这里简单说一下背景,因为整体的设计上会有很强的时代印记。时间回到2010年左右,这个时候的手机市场还是功能机的天下,手机处理能力很弱。2g移动网络占据主导地位,网络慢,流量贵。用户大多会使用UC浏览器或者一些类似的浏览器,来节省流量,提升响应速度。

手机浏览器

这里不得不简要说一下当时的手机浏览器。这类手机浏览器主要功能是节省流量,加快访问速度,其次是展示网站内容。这么说可能是有些偏激,这类浏览器会过滤掉目标站点的一些html标签、js和css,减少返回的内容,加速页面解析。

实现

UGC起源于互联网,随着移动互联网兴起,很自然的想法是开发一个适合移动端使用的网站。作为人们在没有pc环境下的一个辅助入口。观念上的主次,决定了移动网站作为pc网站的一个简化版。所以我们将手机站点定义为一个新的工程,数据共享自主站点。


它的结构大致是这个样子的:

由于前面说的浏览器原因,为了保证更好的兼容性。页面使用的html和css很简单,没有使用js。同时还有一个很麻烦的问题,此类浏览器会丢失cookie,无法保证用户的登录信息。查阅tomcat文档,发现可以在url中使用jsessionid来维持session信息。

方案1,在url中增加jsessionid,结果并不和想象一样美好,无效。原因是线上tomcat版本较低,而由于公司的tomcat有一些patch,无法升级。

方案2,和方案1很类似,自己实现认证信息,添加在url中,很类似现在的认证token。

同时也考察了QQ空间,新浪博客的产品的手机站点,也使用的方案2实现,最终采用方案2实现。

WEB App

时代背景

网站虽然能一定程度上满足用户的阅读需求,但是无法使用手机的拍照等特性,用户对App的需求较强烈。H5被炒的轰轰烈烈,很有一统江湖的赶脚。phonegap等跨平台方案适时的出现了,这种低成本的移动端解决方案对web开发团队有致命的诱惑力。就这样,我们自己的WEB App出现了。

实现

  • 将html、css、js打包到apk中,减少网络下载量。
  • 通过dwr请求服务端,通过js本地展示数据,存在跨域问题。
  • 使用H5存储实现客户端数据的缓存。
  • 使用websocket方案实现push。
  • 提供拍照等方法给js调用。




借一张图来用,它是这样的:

事实证明这个方案并不如想象的美好。H5或许是一个趋势,但绝对不是在那个时候。

http://36kr.com/p/149405.html

Native App

时代背景

整个APP使用WEB APP的方式来完成,发现了很多问题,会损失性能、原生特性等。所以我们走在了native app开发的路上,以android为例。

实现

  • 大部分使用java开发
  • 有时候需要引入web的页面,H5开发
  • 性能要求高或者核心逻辑使用c、c++开发

Hybrid App

时代背景

现如今一个APP可能会承载公司各部门不同的业务,更像是一个APP平台。导致一个APP可能会很庞大,也对开发有更高的要求,比如:团队协作、发布、热修复、动态加载等。可能会用到更多 的技术来开发。

实现

  • 平台native语言
  • 脚本语言
  • 跨平台开发
  • 多团队协作
  • 等等

总结

经历移动互联网发展的这个时期,很高兴有机会从服务端开发转换到App开发。多一种经历,多一种视角,多一种思考方式。以上内容只代表个人在特定环境下见闻,一定代表不了移动互联网的技术变革。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡矣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值