我在这个行业已经超过11年了,我的职业生涯始于黑莓开发公司(BlackBerry Development),我已经觉得自己老了!
当时,Eclipse是我们进行移动开发的最好朋友。我曾在著名的黑莓的Zagat应用程序上实习。总体而言,这是一次很棒的学习经历。
为了我的全职工作,我转向了一家名为Spinlet的初创公司,我希望这家公司仍能发展壮大。一开始我只是一名黑莓开发者,但最终我转向了iOS开发。
在最初的几年里,我的iOS体验非常令人兴奋。最后,我和一个朋友成立了自己的公司Royale Cheese,提供手机设计和开发服务。
经过大约4年的iOS开发,我找到了进入Android开发的道路。准确地说,我大约有3年的时间也分享了Android开发方面的经验。
从那时起,我们一直致力于全栈的工作,那时我才意识到手机开发工具是多么糟糕。
别再闲聊了。以下是对移动开发工具和技术的真实回顾。
XCode
过去它曾经是一个很好的工具,但是最近它变得很糟糕。以下是15年后所有问题的列表:
自动补全:首先,哪个头脑清醒的人会把Esc作为建议的关键。其次,自动补全无法正常运行,或者会给出与上下文无关的怪异建议。
构建时间:第一次创建存档或在设备上运行需要花费大量时间,最好设置CI / CD来存档和上传构建。
签署和部署:有了最新的版本,它变得更容易了。但是,对于初学者来说,签名证书和配置文件仍然令人困惑。
内存占用:XCode不知何故一直在浪费内存,对于需要运行构建的每个新设备,其占用3 GB。存档占用了很大一部分,而模拟器也是如此。如果我不定期清理,总体上它大约占50GB。
更新:每个更新约为10-12GB,即使是较小的升级也是如此。更糟糕的是,它需要超过40GB的可用空间才能安装。最后但并非最不重要的一点是,XCode占用了大约12GB的空间。
设计:最初用于设计UI的是struts和springs,然后是Autolayout,现在是SwiftUI。令人担忧的是方法不断变化。
Cocoapods:越来越差,因为它的 repo 越来越大。其次,它增加了大量的构建时间。
相机:可能由于硬件限制,模拟器不支持摄像机。但是,已经有一段时间了。如果可以模拟位置,为什么不使用相机?
Android Studio
我还没有机会在早期使用它。但从我所看到的情况来看,这不会是件好事。以下是一些令人沮丧的问题。
碎片化:我觉得这可能是每个人的头等大事,支持数量惊人的设备可能会让任何人不知所措。
Gradle:我的天啊! Gradle永远需要运行构建。有一些优化方法可以帮助缓解问题,但仍然存在问题。
内存猎手:在仿真器和IDE一起运行的情况下,组合需要大约10–12GB的内存,这远比他们的官方文档所说的要多:4GB。
签名密钥:您丢失了签名密钥,无法再次上传到同一应用程序。你必须创造一款新应用并再次获得评论和下载。最近这方面有了一些改善。
IDE:我一直觉得基于Java的IDE很笨拙。其中包括IntelliJ(基于Android Studio的基础),Eclipse或NetBeans。它的响应能力不同于XCode或VS Code等其他工具。
XCode与Android Studio的对比回顾
即使可能感觉到Android问题较少,但确实存在一些严重问题。仅碎片化和Gradle可能足以使Android看起来很糟糕。
与我个人相比,我个人更喜欢使用XCode而不是Android,因为我拥有Mac,也许我更习惯了它。
总体而言,这两个平台都有庞大的用户群。我觉得这些工具还有很长的路要走。
作为一个例子,我非常喜欢微软将dotnet改造为dotnet core,将他们的IDE改造为VS Code。