Swift不应该成为iOS的未来

Swift试图做到两件事:一种针对高速和内存效率量身定制的语言,以及一种提供高级抽象的语言。

但是大多数应用程序不需要达到很高的性能水平。 滑动后,代码将在页面之间转换,然后CPU闲置坐在那里,直到用户启动其他操作为止。 大多数用户界面代码可以忍受100ms,但是Swift的目标是1ms。 关于我们的应用程序,最慢的事情通常是数据I / O,而这是语言甚至无法解决的!

在某些情况下,确实需要某些代码真正快。 它分为两大类:游戏和数据算法。 我不是在这里谈论游戏,那是完全不同的野兽。 但是对于算法,它们可以与其余代码库分离和隔离。

其余代码不需要太快。 更重要的是它简单,容易并且具有高级抽象。 这就是为什么我认为Apple明智的做法是使JavaScript成为面向iOS平台的一流语言。 如果要保持类型安全,则可以集成TypeScript。 VS Code中已经有非常好的IDE支持,所有这些都是开源的,因此Apple可以将其集成到Xcode中。 (我完全知道建议苹果使用微软制造的东西具有讽刺意味,但这并不会自动使它成为一个坏主意!他们应该使用正确的工具来完成这项工作。)

这样,对于需要关注性能的狭窄区域,它们仍然可以用C编写,Apple甚至可以创建一个小桥梁,在该桥梁中可以从JavaScript自动调用C代码,并自动转换类型。 他们已经使用Swift做到了这一点,肯定可以使用JavaScript再次做到这一点!

许多用户都在使用许多流行的React Native应用程序。 尽管它们确实比本地应用程序慢,但这也意味着如果苹果自己创建该层的自己的版本并将其作为一种幸运的本地开发方式,那么他们将有更多的机会对其进行优化。

这将使Apple过渡到更现代的视图处理方法有多容易。 确实,ViewController,情节提要和自动布局朝着正确的方向发展,但它不应成为最终的目的地。 React,React Native和Flutter都向我们展示了开发人员渴望一种更简单,更直观的方式来构建移动应用程序。 现在,苹果需要采取行动,采取主动行动,否则就有落伍的危险。