IT技术博客大学习 共学习 共进步

移动互联网系统架构十大陷阱

五四陈科学院-坚信科学,分享技术 2013-10-18 12:30:20 浏览 3,641 次

   过去的三年,54chen一直奋斗在中国移动互联网一线,历经各种坑爹的情况。以下特做记录。

   Top 1.时不我待 连通性

   cmwap cmnet这样的词语以后应该都会消失在人世间。三年前,经常性地有移不动联不通手机连不上服务器机房的情况。两年前,这种情况要好了一些。一年前,改善很多。现在还存在。相信未来会越来越好,时代在召唤!解法,花钱找有“背景”的机房。

   Top 2.生不逢时 HTML5

   在去年的网络情况下,HTML5依旧不适合用来做优秀的app。前几年的时候,网速各种烂的情况下,2G下的html5应用基本上完全不能用。现在好一点,开始有闲人把html5全部封装好native的调用,使其只做view的显示部分,但是,性能也是个大问题。当然了,同样地,相信未来会越来越好,同样是时代在召唤!解法,过几年再用。

   Top 3.环境恶劣 DNS

   DNS解析也有失败的情况下,app做得再漂亮,请求也不可达。IP要比域名靠谱一些,却有别的问题。解法就是在客户端多留下点域名和ip,一个不能用换下一个。

   Top 4.车匪路霸 http拦截

   天朝运营商,可以干得出你想不到的事情。各种小广告帖你家防盗门上。所以你最好还是在header里声明好了:畜生,这个不是html,这是json,不要加广告!

   Top 5.五花八门 app添加按钮一定要克制

   特别是android app,完全没有限制,或者统一标准,什么样的App都有,做一个大气的App,最重要的一点,看看能不能打开就是主要功能,手指点一下就能到重要功能。

   Top 6.逆流而上 完全不要在传统web上有所期待

   除了新浪微博、QQ空间这种从传统web上推出的App之外,几乎不可能在完成一个App之后,能够让用户按你的引导打开一个网站。其难度不低于当年在传统广告商打完广告,等用户来访问网站一样。

   Top 7.天下大同 App上的sqlite与服务器的mysql数据同步,是个大麻烦

   当App也有一个db在保存数据的时候,就会接二连三地出现数据不一致的问题。最好的解法,公司有个统一的同步机制,最好是固定的框架代码,让业务逻辑隔离开这个同步过程。当然,实际工作过程中,我们甚至还想把所有的云端数据只当成备份,干脆全部交给客户端工程师来完成逻辑,我们让cluster更加可靠和可扩展。

   Top 8.通则不痛 下载渠道要通畅

   动则几M的包,下载不通畅,基本上分分钟新增用户就归零了。而且,要上CDN。这里有个坑,有些个CDN厂商的代理服务器可能会出现缓存有限的情况,文件太大会出现前半部分下载挺快,后面越下越慢,请谨慎使用。

   Top 9.兵贵中速 移动网络更新太快不是好事,太慢也不是好事

   你看看哪个App天天在更新,已经不是web2.0时代了,亲! 同时,不要慢速运转,你的伙伴们会养成拖拉的习惯。最好的办法,内部天天更新,外部月更新甚至是季更新。

   Top 10.未雨绸缪 一定要提前准备全体用户可以看到的公告条,以备不时之需

   web2.0时代,我们要维护系统,在全部页面顶部加一个黄条:今天xx点全站维护。移动时代,这不太可能了,于是你会看到各种微博公告、微信公告、xx公告,反正就是不在自己家公告,因为自己家坏了要维护。

   想快点找到作者也可以到Twitter上留言: @54chen

   或者你懒得带梯子上墙,请到新浪微博:@54chen

建议继续学习

  1. 面向移动设备的HTML5开发框架梳理 (阅读 7,200)
  2. 移动产品设计之场景感 (阅读 4,700)
  3. JavaScript性能陷阱 (阅读 4,041)
  4. Java陷阱(2010版) (阅读 4,000)
  5. 优先为移动设计带来的优势 (阅读 3,980)
  6. PHP数据类型隐性转换的陷阱 (阅读 3,940)
  7. 移动网站开发――标记语言 (阅读 3,641)
  8. 一次租房的移动体验 (阅读 3,580)
  9. 优先为移动设计的理由 (阅读 3,582)
  10. 移动互联网时代谁主沉浮 (阅读 3,540)