选择Android开发还是ios开发一直都是创业者的一大的棘手问题,尤其是在如今Android 的市场份额已经突破80%.
我们现在来看看某一位在HappyFunCorp(拥有迄今为止最好名字的咨询公司)资深软件工程师的见解吧
他编写并开源了两个近乎一模一样的Android和iOS原生应用,并用以下方面进行对比用来区别Android开发与ios开发的优劣势。
一、 开发环境
苹果的Xcode让人开发起来很愉悦。Xcode漂亮、快速、强大、帮助很大却又不扰人,而且在编译和通过证书/档案机制控制iOS应用和设备上做得越来越好了。Xcode的调试工具运行平滑,模拟器快速且反应灵敏。
Android最先进的IDE是用Android插件定制的Eclipse,而它却很糟糕。慢、笨重、反直觉、布局糟糕、不必要的复杂。它的调试工具也非常笨拙,大部分时间都是通过日志进行调试。而XCode的调试工具却是寻找iOS程序错误的首选工具。Android的模拟器也要花几分钟才能启动,其中差不多有一半没法连接到Android Debug Bridge。
二、API
Android和iOS都向开发者们提供了庞大的软件库。绝大部分工作都是由控制器完成:iOS的ViewController差不多就相当于一个Android Activity。
iOS有而Android没有的是一套额外的框架和功能,比如Android就没有iOS强大的Core Data框架的对应物,也没有iOS更整洁、更好的设计系统。举个例子,将这两个做了应用大部分工作的相对简单的iOS类与这三个对应的Android类进行比较。最后我在Android类上花的时间要比在iOS类上花的时间多。
三、网络
Android提供AsyncTask类来做这类事,而且判断是否联网也很方便。iOS也提供相应的功能,但它们的表现相当低级。不过,有一堆开源库让生活变得轻松多了。用AFNetworking,使用起来感觉非常好。你只需在网络请求完成后将代码块传递给它就能运行,这在Android中根本不可能,因为Java并没有block。
四、总结
总的来说iOS要领先很多, Android有其优势,但,编写好的iOS应用要比编写好的Android应用容易得多。加上初创公司大多数还是以iOS为先。新的Android Studio IDE也许会极大地缩短差距,但并不是全部。
注:本文原发于麦子学院,转载请注明出处。