Swift vs Obj-C:开发人员的观点

许多对开发iOS应用程序感兴趣的人心中有一个主要问题,即应该学习Swift还是使用Objective-C来制作iOS应用程序。 现在这是一个非常普遍的问题,因为这两种语言似乎仍然是彼此的竞争者。

在Swift被Apple宣布为一种新的编程语言后,它在开发人员社区中引起了很多惊喜和困惑。 作为Objective-C的替代产品,Swift被认为比其前身更好。 但是真的是这样吗?

仅在完成了Swift中的几个主要应用程序之后(从头开始),我才能够找到这些问题的答案。 让我们从外部看一下Swift与Objective-C的战斗,并试图定义两者之间的优势。

Swift比Objective-C的优势

1. Swift更快

它的性能与C ++的性能相匹配,后者被认为是最快的算法计算算法。 Objective-C较慢,因为它包含C API旧版。

我们都知道苹果如何努力提高Swift的速度。 到目前为止,他们实际上已经非常成功地做到了。 例如,Swift 2.0在几种计算算法中击败了C ++。

例如,使用Swift可以更快地完成常见的搜索算法:

比Objective-C快2.6倍

比Python 2.7快8.4倍

2. Swift更安全。

Swift的语法和语言构造排除了Objective-C中潜在的几种错误类型。 这种稳定性意味着更少的崩溃和意外行为。 当然,它不能防止编写错误的代码,但是可以更好地保护开发人员避免发生不必要的错误。 可以将其称为“质量控制”。

一个很好的例子就是迅速的“可选”功能。 让我们看一下下面的实现:

  var firstName:字符串? 
firstName =“ abc”

警卫队让名=名,其他{
返回
}
  //在未包装firstName的控制语句之外使用名称 
print(“ \(name)”)//“ abc”

所有这些使我们有理由将Swift视为一种安全的编程语言,这非常重要。

3. Swift是竞争者

Swift是一种更紧凑的编程语言。 更少的代码等于更好的可读性。 当然,这个事实并不意味着代码简单。 有时,编写起来可能非常困难,但是却带来了更多好处,并且具有很高的可重用性。 这不能应用于Objective-C。 例如,有一个著名的应用程序,称为“ Lyft”。 从头开始迅速进行重写时,代码的总行数在Obj-C中达到75,000,在Swift中达到22,000。

4. Swift是交互式的。

Swift Playgrounds为开发人员带来了新的机会。 使用此工具,可以在不编译大量代码或创建整个应用程序的情况下就地测试代码。 操场将数据可视化,程序员可以在进行进一步开发时快速检查并纠正所有问题。 它特别适用于自定义视图和代码实验。

5. Swift是开源的。

最初是为Apple平台(iOS,OS X,watchOS,tvOS)创建的,后来逐渐扩展以在Linux上构建。 已经有解决方案,允许在Swift上编写后端。 与Objective-C相比,Swift代码将更易于移植到其他平台。 如今, swift甚至还可以用于编写android应用程序代码

而且,Swift可以用作脚本语言。 对于iOS社区来说,统一构建脚本的编写是一个有趣的解决方案。 Swift提供了一个惊人的机会,可应用于所有iOS编程需求。

与Swift相比,Objective-C的优势

  1. Swift不支持静态库 。 Objective-C可以编译成静态库和动态框架,而Swift只能编译成动态框架
  2. Swift可执行应用程序的大小大于Objective-C的大小 。 在3.0版之前用Swift编写的应用程序比在Objective-C中构建的应用程序大8–20 Mb。 原因是如果所有Swift运行时库至少包含1行Swift代码,则必须将其包含在应用程序中。 尽管Swift二进制文件较小,但对于许多应用程序而言,运行时框架可能是巨大的开销!
  3. Swift不支持C ++。 C ++代码不能在Swift中使用。 但是,可以使用Objective-C ++。
  4. Xcode不支持重构Swift代码。 应该手动完成。 此功能仅适用于Objective-C。

综上所述

如我们所见,Swift既有优点也有缺点。 即便如此,仍然以积极的方式解释了一些缺点,看上去并不像它们最初看起来那样强大。

尽管有所有Swift的优点和缺点,但为将来的应用程序选择它的主要原因是开发人员对它的热爱。 苹果现在已经着手对其进行改进,并显示了将这种编码语言转变为巨型语言的所有可能意图。 没有比个人参与项目更好的动力和质量保证。

简而言之,Swift可以被视为未来的编码语言。 因此,现在是时候转向适用于iOS,Watch-OS和MacOS应用程序开发的更加平易近人,功能齐全的Swift了。

要了解有关swift的更多信息,请点击以下 链接

https://swift.org/