海外优秀资讯抢先看11:Android的Inbox如何做到70%代码能跨Android/iOS/Web 平台的秘密武器

众所周知当今写一个应用你需要有大的访问量的话必然要跨多个平台,移动端你起码需要覆盖android和ios平台,而你又不能忽略PC端的用户。如果你不考虑原生应用带来的性能和UI适配度,你当然可以基于浏览器核心来使用流行的Javascript+HTML5+Phonegap等封装成一个跨平台应用。但是Google的Gmail团队是个有追求的团队,它当然不会牺牲各个平台的性能和原生应用的UI适配度来做出compromise了。

那么如果给每个平台开发原生应用的话,对于google自身的安卓来说,当然需要用到的开发语言技术是Java了,而对于iOS来说,如果Swift没有被口水淹死而得以应用之前当然是Objective C了,对于Web,那毫无疑问使用技术将会是JavaScript/CSS/HTML5。

如果Inbox是微软做的话,我相信他们的开发团队毫无疑问会选择他们家的Xamarin基于C#,.net和Mono的跨平台开发框架来完成这方面的工作以达到一劳永逸的效果了。而对于Google来说,它当然不屑于用微软的框架,他们拥有自己的一套工具来实现跨平台。

Google的做法是使用使用一些工具实现了70%的代码跨平台复用。Inbox在各个平台使用的是相同的后台代码逻辑,但前端的UI因平台相关性会有所不同。Google 有自己的一套工具让他们只需要在安卓上使用Java开发一套后台代码逻辑,然后就可以将它们转换成对应的Objective-c和Javascript来适应iOS和Web浏览器:

  • JavaScript的转换由Google Web Toolkit SDK来完成
  • Objective-C的转换由J2ObjC来胜任
    J2ObjC其实早在2013年就已经出来的了,但是Google真正很大程度在自己的项目中派上用场却是在Inbox这个项目上面。期解决了Google跨平台移动开发的这个严重问题,同时也适配了高傲的google就算在开发跨平台应用依然是安卓先行的理念。
    至于Inbox项目具体是如何在跨平台中达到70%的代码共享的详细细节,请大家查看以下链接,本文只是希望能做到一个抛砖引玉的作用,或者让你作为一杯早茶或者下午茶来在空闲时小抿一口而已。http://arstechnica.com/information-technology/2014/11/how-google-inbox-shares-70-of-its-code-across-android-ios-and-the-web/