SwiftUI【1】-Swift

SwiftUI【1】-Swift

学习SwiftUI之前,简单了解一下Swift。

swift语言是苹果2014年6月3日正式推出一门新的的语言。swift语言主要能够开发 ios 和mac相关的app.执行效率比c,c++,object_c开发的效率更高,并且编写更简洁。

官方定位

苹果的官网上是这样描述和定位的:Swift,一种强大的开源编程语言,让大家都能开发出众的 App。Swift 是一种强劲而直观的编程语言,它由 Apple 创造,可用来为 iOS、Mac、Apple TV 和 Apple Watch 开发 app。它旨在为开发者提供充分的自由。Swift 易用并且开源,只要有想法,谁都可以创造非凡。
在这里插入图片描述

历史

  • 2010 年 7 月,苹果开发者工具部门总监 Chris Lattner 开始着手 Swift 编程语言的设计工作

  • 用一年时间,完成基本架构

  • Swift 大约历经 4 年的开发期,2014 年 6 月发表,目前最新版本5.1

  • 2015年12月4日,苹果公司宣布其Swift编程语言开放源代码

  • Swift之父Chris Lattner
    LLVM 项目的主要发起人与作者之一
    Clang 编译器的作者
    苹果公司『开发者工具』部门的主管
    领导Xcode、Instruments等编译器团队
    Swift的大部分基础架构由他完成
    Apple -> Tesla -> Google在这里插入图片描述

Swift版本

历时5年发展,从Swift1.x发展到了Swift5.x版本,经历了多次重大改变,ABI终于稳定 。ABI(Application Binary Interface):应用程序二进制接口

  • 应用程序与操作系统之间的底层接口
  • 涉及的内容有:目标文件格式、数据类型的大小\布局\对齐、函数调用约定等等

随着ABI的稳定,Swift语法基本不会再有太大的变动,此时正是学习Swift的最佳时刻

截止至2019年6月,目前最新版本:Swift5.1

Swift完全开源: https://github.com/apple/swift,主要采用C++编写

总结

Swift是一种适用于iOS和OS X应用的全新编程语言,它建立在最好的C和Objective-C语言之上,并且没有C语言的兼容性限制。Swift采用安全的编程模式,增加了现代功能使编程更容易、更灵活、更有趣。Swift以成熟且备受宠爱的Cocoa和Cocoa Touch框架为支撑,这是一个重新构想软件开发的机会。

Swift经过了数年的酝酿,Apple通过改进现有的编译器、调试器和框架结构奠定了Swift的基础,并通过Automatic Reference Counting(ARC)简化了内存管理。Swift的framework stack建立在坚实的Foundation和Cocoa基础之上,实现了现代化和彻底标准化。Objective-C本身已经逐步发展到到支持blocks、 collection literals和modules,使框架不间断地采用现代语言技术。基于这个基础,我们可以为今后的Apple软件开发引入一种新语言。

对Objective-C开发者来说,Swift看起来会很熟悉。它具有Objective-C命名参数的易读性和动态对象模型的强大之处,提供了无缝接入现有Cocoa框架和与Objective-C混编的能力。基于这个共同点,Swift引入了许多新的特性、统一的程序和面向对象的语言部分。

Swift对于新程序员是友好的,作为一个具有表现力和令人愉悦的脚本语言,它是第一个获得工业品质的系统编程语言。它支持playgrounds,一个允许程序员调试Swift代码并立即看到结果的革新性功能,而无需反复编译运行程序。

Swift从广阔的苹果工程师文化中结合了最好的现代语言思维和智慧。编译器针对性能进行了优化,语言也针对开发进行了优化,无需任何妥协。它的设计从“Hello World”扩展到整个操作系统。这一切使得Swift对于开发者和Apple是一个有意义的投资。

Swift以极好的方式来编写的iOS和OS X应用,并将使用新特性和功能继续演进。我们对Swift充满期待,已经迫不及待看你能用它创造什么了。

特点

  • 从它的语法中能看到JavaScript、Python、Java等语言的影子
    语法简单、代码简洁、使用方便
    可与Objective-C混合使用(混合编译)
    提供了很多Objective-C中没有的新特性
  • 为什么设计Swift语言?
    专为安全
    高效强大
  • 重要性
    苹果目前在大力推广Swift
    已经出现Swift Only的API,如SwiftUI
    很多企业招聘需要会Swift,以后Swift必将代替OC
  • 链式编程思想
    如何让你的代码优雅的呈现出来,体现你代码高B格和可读性特性,那么不得不去思考去使用链式编程思想即能达到你想要的效果。
    如果你是做iOS开发,相信你对Masonry这个自动布局库最是熟悉不过来。该库的编写用的就是链式编程思想,它极大的帮助了程序员简化自动布局的代码,通过(.)的调用方式将代码联合在一起,大大的增加了代码可读性,使他看起来更加简单而优雅。

参考学习教程(推荐)

《Swift 编程语言》是苹果官方对 Swift 语言做的权威指南,很遗憾苹果公司并没有进行多语言支持。所以这里有人独立发起了这个手册的翻译工作——与其他现存翻译不同的是:它同步更新苹果官方的 Swift 开发者预览版 !在这里插入图片描述

本文参考文章