官术网_书友最值得收藏!

Chapter 1. Welcome to the World of Swift

Swift is a language so new that even the most expert programmers have barely a year and few months of experience in it. However, it borrows most of its features from several other programming languages, such as Ruby, Python, Scala, Rust, Groovy, and even JavaScript and Haskell. So, anyone who approaches Swift will already feel at home, recognizing the patterns and features of their favorite programming languages.

Moreover, unlike Objective-C, whose learning curve is really steep for beginners, Swift is really friendly for newcomers, who can write code once they learn the basics of the language.

Nevertheless, mastering Swift when using its more advanced features, such as effectively integrating patterns of functional programming with object-oriented concepts, takes time and the best practices still need to be discovered.

Also, Swift's language is just one part of the story. In fact, a programming language without a precise goal is pretty useless. Swift is not a general-purpose language, but a language with a specific goal of building apps for iOS and OS X using the Cocoa framework.

It's in this framework that the complexity resides; Cocoa is a very big framework, with thousands of APIs and different patterns and best practices. It has changed significantly over the course of its several releases, for example, moving from the delegate pattern to the use of blocks to make components interact with loose coupling.

More than knowing the language, the real challenge is in knowing the framework. I want to stress that the aim of this chapter is just to help you get the first grasp of what Swift's constructs look like, and not to be exhaustive, so expect to find a certain degree of simplification. Also, be aware that a deeper knowledge of the language can be achieved with books that specialize only in Swift learning, whereas the goal of this book is to teach you how to build apps using Swift.

主站蜘蛛池模板: 崇义县| 额尔古纳市| 定西市| 渭南市| 大庆市| 红河县| 吴忠市| 慈溪市| 焦作市| 威海市| 永顺县| 青神县| 新闻| 石楼县| 比如县| 六盘水市| 砚山县| 石阡县| 通江县| 洪江市| 五常市| 太谷县| 台中市| 乌什县| 夹江县| 明水县| 逊克县| 宜兰县| 错那县| 峨边| 屏山县| 凉城县| 江安县| 南通市| 梓潼县| 甘孜| 商河县| 西乌| 太和县| 名山县| 黔东|