Swift编程语言的特点及应用分析_第1页
Swift编程语言的特点及应用分析_第2页
Swift编程语言的特点及应用分析_第3页
Swift编程语言的特点及应用分析_第4页
Swift编程语言的特点及应用分析_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    swift编程语言的特点及应用分析    侯睿哲摘要:swift是为高效而强大的编程而创建的一种新的编程语言,它结合了c和objective-c的优点并且不受c兼容性的限制,充分利用现代化的mac.iphone和ipad的硬件,让编程的流程大大缩短和简化。作为一种新的编程语言,它主要用于编写ios和osx的应用。相较于其他编程语言,其采用了安全的编程模式,并添加了许多现代功能,使得编程更加轻松,灵活和有趣,因此具有广泛的运用前景。关键词:swift;编程语言;特点;应用:tp312 :a:1009-3044(2020)03-0062-021 sw

2、ift语言的产生与发展swift是由苹果公司在2014年全球开发者大会(wwdc)首次推出的由苹果员工chris lattner开发的一种新的编程语言1。在此之前,苹果公司为了更好地推广swift语言,其研发人员在“语言编译器、调试器和构建框架栈”等方面进行了优化改进,避免了objective-c难学且使用不便的缺陷,让swift语言在编程中相较于其他编程语言更加轻松、灵活和有趣。正是开发人员做好了这些基础工作,所以,swift編程语言一发布,立即受到广大程序员的欢迎和好评。为了推广使用swift,2015年12月4日,苹果公司宣布其swift编程语言开放源代码,长达600多页的the swi

3、ft programming language可以在苹果官方github在线免费下载。由于swift广泛用于苹果操作系统(ios,macos,wa-tchos和tvos),实际上随着苹果公司业务的增长,其以“令人难以置信的速度”增长。2017年下半年,已在redmonk的语言排名中攀升了44位。在不到四年的时间里,swift以创纪录的速度达到了编程语言前10名2。2 swift语言的特点2.1 swift语法更加简洁swift不仅吸收了c语言和objective-c等编程语言的优点,而且改进了objective-c难学且使用不便的缺陷,并且在使用过程中还不受c语言兼容性的限制,由于它采用了实时

4、编译、持续跟踪和及时警告语法错误、提供设计建议和内存管理等安全的编程模式,且自身带有预定义的库,使得swift的api更容易阅读和维护。它不仅具有c或c+等基础编程语言的功能,还具备c#或javascript等高级语言的流畅性。以下代码片段的比较和图1、图2示例能够直观地感受到swift语法简洁和流畅性的特点。objective-c代码:const int count= 10;double price= 23.55;nsstring *firstmessage = "swift is awesome. "nsstring *secondmessage = "wha

5、t do you think? "nsstring *message = nsstring stringwithformat: "o-/o o-/o". firstmessage, secondmessage;nslog("o-/o", message);swift代码:let count = 10var price = 23.55let firstmessage = "swift is awesome. "let secondmessage = "what do you think?"var messa

6、ge = firstmessage + secondmessageprint(message)2.2 swift的伸缩性强swift具有较强的可伸缩性,可以在swift的基础上发展为swift/t.较好地避免了以前开发的swift实现集中式单节点评估模型限制的缺陷3。swift/t是一种新的数据流语言实现,旨在实现极高的可伸缩性。其技术创新包括分布式数据流引擎,该引擎使用数据流驱动的模式来平衡大量节点的程序评估。swift/t扩展了swift数据流编程模型,使系统以分布式方式运行,从而使系统在完成一项繁重的任务时效率更高,速度更快。“因此,swift/t提供了可伸缩的并行编程模型,以高效地表达

7、高度并行的多任务应用程序的外部层次4。”图3显示了考虑swift原有的单数据流结构。在以前,单节点swift引擎将以小于500个任务/秒的速度将这些子函数发送到分布式cpu中执行。与之相反,新的swift/t架构可以将外部循环的任务分配给许多cpu,每个cpu可以依次将内部循环的任务分配给许多其他cpu。这个例子清楚地显示了swift/t如何使系统高效地运行。我们的测试结果表明,对于一个loos的任务,swift/t可以将128k的处理器效率提高85%。3 swift语言的应用分析为了说明swift编程语言的应用前景和优势,下面笔者将swift编程语言与目前较为流行的java语言进行对比说明。

8、一般情况下,使用java进行程序构建时,应牢记5个主要目标:1)应该使用面向对象的编程方法;2)应该允许同一程序在多个操作系统上执行;3)应该包含使用计算机网络的内置支持;4)应该设计为可以安全地从远程源执行代码;5)通过选择被认为是其他面向对象语言的组成部分,应该易于使用。而swift的主要目标是大大简化软件工程流程:1)不需要分号;2)没有头文件需要管理;3)键入推断;4)函数是第一的要素,不会发生空指针异常;5)不允许c语言风格的枚举(int i=0;i设计用户界面:除语法语义外,swift的最大优势之一是设计用户界面。对大多数开发人员说,ios开发的美丽之处在于代码(.swift文件)

9、和用户界面(.storyboards)的分离。首先,使用者可以选择任何ui对象,然后将它们拖放到视图中。然后建立源代码和用户界面之间的关系。按下控制键就可将其拖动到“视图控制器”图标。然后,就可以选择一个弹出窗口以连接代码。这就是swift将ui与源代码连接的方式。对于开发人员来说,设计用户界面非常方便。3.2 java的优势具有更多库:java作为世界上五大编程语言之一,比swift拥有更悠久的历史。swift是一种新兴的语言,比java更“现代”,但java的优势在于它的历史。作为经过长期开发的语言,java比swift具有更多的第三方库。用户可以找到几乎所有需要的java语言库。世界上很

10、少有像java这样的具有深度库的语言。更多支持:當用户尝试构建应用程序时,错误和异常是不可避免的,这时就能显现出java的优势。编程过程中总会有一些细节错误或编译异常,用户无法在书中找到具体的解决方案,然后就需要在线寻求支持。由于java开发人员的数量远远超过swift,因此用户会发现,获得java支持远比swift容易得多。这可以帮助用户更快,更轻松地解决问题。3.3 两者比较的意义在现实中,两种语言并没有真正竞争。如果要制作ios应用程序,则需要swift。如果要进行android开发,则选择java。两种语言都有自己的用途和适用情况。但是,两种语言的比较并非没有意义。如今的移动设备在我们

11、的生活中占据了越来越多的空间,无论是android还是ios开发都很流行。如果开发人员想在它们之间进行选择,那么对他来说,了解它们之间的比较很重要。另一方面,如果开发人员只熟悉其中的一个,那么比较可以帮助他更快,更轻松地学习另一个。3.4 swift前景分析swift作为一种新兴的“现代”编程语言,它具有“语法、代码简洁、可读性强,对用户友好且易于学习”等诸多优势,因此,对于初学程序开发的人员具有较强的吸引力。特别是swift使用playground编写模式,使编写语言代码难以置信的简单和有趣。输入一行代码,结果立即出现。如果您的代码通过一个循环运行一段时间你可以看它在时间轴助理进展。在时间线

12、中的图表显示变量,组成一个视图时绘制每一步,并能起到一个动画spritekit现场。当你在playground上完善你的代码,只需将代码运行在项目中。有了playground,用户可以:设计一种新的算法,看其工作的每一步,创建新的测试,验证他们推动到你的测试套件前工作,尝试新的api来磨炼你的swift的编码技巧,同时可以消除不安全的代码。当然,swift作为一种不断发展完善的编程语言,需要在用户数量和库的扩展方面进一步仍提高,同时亟待改变其特定的编译环境等不足、缺陷和局限性,它不仅需要苹果公司而且也需要更多的开发人员进行持续的开发,增强其兼容性。swift/t是开发swift的很好的例子。我

13、们相信随着开发人员贡献的不断加入,swift将变得更加完善,因此具有广泛的运用前景。参考文献:1 beginning ios 12 programming swifteb/ol. (2014-11-16).https:/2 developing an ios application for value estream mapping withswifteb/ol. https:/pdfs. emanticscholar. org/7662/07e79d5b1882e3eclac98dbc270e59bb6078.pdf.3 open sourcing programming language - case apple swifteb/ol. https:/pdfs. semanticscholar. orq34e5/6a279f1175141314

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论