Swift与目标-C:Swift发展的7大优势


iOS主导着全球许多关键市场(包括美国、英国、加拿大和澳大利亚),被认为是商业应用的首选移动平台。事实上,事实证明,就应用程序收入和采用率而言,iOS的表现优于其主要竞争对手安卓(Android)。

然而,新兴技术在快捷性和可用性方面将iOS应用程序开发带到了一个新的水平。对每一家现代公司来说,忽视它们都是一种判断失误。

在构建iOS应用程序时,选择合适的技术堆栈是您需要做出的最重要决策之一。这就是为什么Objective-C与SWIFT的困境在过去几年里一直是激烈讨论的主题。

背景

SWIFT是苹果公司创建的一种通用且功能强大的编程语言,它是Objective-C的现代替代品。自2014年正式发布以来,SWIFT从饱受争议和经常受到批评,到成为the most popular编程语言和the most sought after技术技能。

该语言主要用于为iOS、Mac、Apple TV和Apple Watch构建应用程序,并迅速被iOS社区的开发人员采用。随着苹果最近的“大动作”-开源其全新的编程语言-在iOS开发者社区的共同努力下,SWIFT应该会增长得更快。

许多最有才华的开发人员都很早就采用了Swift,并将他们目前的项目转移到Swift上,对于这样一项年轻的技术来说,这是非同寻常的。然而,它的前身似乎不会很快失去立足之地:trends represented by Indeed.com显示出对Objective-C开发人员的稳定需求。

indeed-com-trends-job-statistics-swift-vs-objective-c

因此,这两种语言将继续在iOS生态系统中共存,至少目前是这样。

只要使用最新版本的语言,使用Objective-C(或其与SWIFT的组合)运行应用程序构建完全可以。除此之外,完全在SWIFT上构建一款新的应用程序有多安全?这种方法有什么好处?通过使用实际案例和具体示例,以下信息包含我们对SWIFT提供的优势的看法。

那么,SWIFT有哪些优势,为什么您应该选择SWIFT作为您的下一个项目?

1.SWIFT应用速度快、性能好

从一开始,苹果就将Swift定位为一种快速、轻量级的语言(它的名字不言而喻)。根据苹果公司公布的官方信息,SWIFT的速度是Objective-C的2.6倍以上,而且每发布一次新语言,这个数字都会增长。

对于面向客户的应用程序,即使是速度上的微小差异也可能是决定产品成功与否的关键因素。如果您的产品需要处理繁重的计算或具有复杂的业务逻辑,那么速度和性能就变得更加重要。这就是SWIFT成为构建快速高效的面向消费者应用程序的首选技术的原因。

2.提高团队工作效率和幸福感

SWIFT代码非常接近自然英语。它清晰明了,简明扼要,对开发人员的工作效率产生了积极的影响。作为Apple Developer Tools生态系统的一部分,SWIFT提供所有必要的开箱即用工具。除了优秀的旧XCode之外,SWIFT还为开发人员提供了一个绝佳的机会,通过使用SWIFT游乐场立即看到实际运行的代码。

所有这些方面都使SWIFT的发展又快又高效。反过来,这又意味着为您节省了更多的时间和金钱。

此外,根据Stack Overflow Developer survey连续第二年,SWIFT仍然是最受欢迎的编程语言之一。开发人员完全钦佩该语言这一事实极大地促进了开发人员的积极性和生产力。

3.它的建造考虑到了安全问题

借助SWIFT,您的开发人员可以使用高级错误处理来避免Objective-C中出现的大多数典型错误。而在Objective-C中,一些缺陷可能没有被注意到,稍后可能会导致不可预测的系统行为。反馈循环大大减少,因为SWIFT代码中的错误通过编译器错误变得可见,并可以立即修复。

其结果是减少了生产中的崩溃和错误,大大减少了在开发的测试阶段花费的时间和金钱。

4.您的App将面向未来

作为Lyft的首席工程师马丁·孔蒂·麦克·多内尔(Martin Conte Mac Donell),stated

“使用现代工具为苹果已经在规划的一切打开了大门--新平台、新设备。”

事实上,SWIFT提供了工具和资源,可以为Apple生态系统中的每一台设备(从Apple Watch到Apple TV)构建开箱即用的应用程序,这意味着100%的兼容性,并允许您不受任何限制地充分发挥硬件的潜力。

此外,该语言目前正在发展成为一种服务器端编程工具,这为进一步发展开辟了更多的可能性。

5.丰富的开源生态系统

作为一个开源项目,SWIFT发展非常迅速。它是目前GitHub上最受欢迎的项目,有超过450名活跃贡献者。free tools, libraries, and frameworks这可以加快开发速度,节省时间和金钱。

同样,开源的SWIFT预计将远远扩展到苹果生态系统之外。如上所述,除了在后端开发中应用之外,SWIFT可能很快就会被用来构建Android apps

6.强有力的企业支持

苹果并不是斯威夫特背后唯一的大牌公司。IBM最近非常积极地参与了一项number of research areas与斯威夫特有关。也就是说,该公司正在努力将该语言带到云端,推动其在服务器端的使用。因此,当您选择SWIFT作为您的项目时,您将会有很好的伙伴关系。IBM生态系统中已有多种与SWIFT集成的工具:IBM SWIFT软件包目录现在有1500多个客户端和服务器端软件包,包括grown by 400%在六个月内。

7.更好的可维护性

更少的代码意味着更少的遗留问题和更低的维护成本。作为一种紧凑的语言,SWIFT需要更少的代码来执行与Objective-C相同的任务。举个例子,Lyft has recently re-engineered its mobile app使用SWIFT。该公司能够将代码库减少70%以上,从75,000行代码减少到22,000行代码,同时保持相同的功能和性能。

奖励:更好的机会在App Store中亮相

苹果经常以使用其最新技术并遵循其最佳实践和趋势的应用程序为特色。这是推广他们产品的好方法,但也是你登上App Store排行榜的好机会。请记住,这并不是成功的保证。最重要的是你的产品的质量,而不仅仅是你选择的技术堆栈。

何时聘用SWIFT开发人员

尽管SWIFT是一门相对年轻的语言,但它已经拥有了令人印象深刻的产品组合。Lyft、LinkedIn、Airbnb、Eventbrite、VSCO和Hipmunk等公司正在将其用于生产。

对于那些仍然不确定是否选择SWIFT作为下一个项目的人,这里收集了一些用例,如果证明更有益处,可以参考以下用例。

  • MVP开发。Swift非常适合快速而精益地开发最低可行的产品。
  • 面向消费者的应用程序。在性能和速度至关重要的情况下,SWIFT是不错的选择。
  • 企业应用程序。在IBM的支持下,SWIFT企业生态系统持续增长,这为构建面向业务的应用程序提供了大量机会。
  • 支持跨设备的应用程序。如果您计划通过将应用程序移植到Apple Watch或Apple TV来进一步扩大您的应用程序覆盖范围,SWIFT可能是一个很好的选择,因为它提供100%的开箱即用硬件支持。