.. _learning_swift: ==================== Swift学习路径 ==================== 我规划的学习 - `Swift Programming: The Big Nerd Ranch Guide, 3rd Edition `_ Swift 5.3 and Xcode 12 版本有些陈旧,先入门再提高 - :ref:`learning_swiftui` 计划开发一些简单的demo 简单来说,由于编程语言其实有共通性,类似我有一些编程经验,无论是c,python或者shell,语言的语法有差异,但是都是处理数据,都有相似的变量类型以及基本逻辑控制。所以我不准备花费太多时间纠结语法细节,而是快速通读并开始编程实践,以期在游泳中学习游泳。 Swift是Apple开发的高级语言,很大程度上简化了原先使用 Object-C 开发的难度。目前主要的 :ref:`ios` 和 :ref:`macos` 以及几乎所有苹果产品都会使用这个语言开发,所以学习这门语言是打开Apple系列的必由之路。 .. note:: Objective-C 远在上个世纪1984年开发,开创了面向对象编程的许多理念,并允许程序在运行时灵活地更改其行为。但是也带来了开发过程中不容易发现bug,而bug通常在交付用户使用时以崩溃的方式暴露。 Swift采用了更为现代的模式(patterns)和范式(paradigms),严格要求开发者遵循某些安全规则(在Objective-C中规则仅是建议)。并且作为替代C家族语言(C,C++,Objective-C)开发的Swift语言,不仅提供了简洁的现代语法,也提供了安全性和性能。 .. note:: 实际上Apple的许多框架都是使用Objective-C编写的,即使使用Swift与这些框架交互,它们生成的错误信息依然带有Objective-C的特征。所以如果能够了解Objective-C,对于调试会有帮助。随着逐步成为Apple平台的更高级的开发者,可能会接触到Objective-C。