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

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.

主站蜘蛛池模板: 神木县| 互助| 霞浦县| 确山县| 布拖县| 南岸区| 漯河市| 兴和县| 天柱县| 无锡市| 会泽县| 平顺县| 苍山县| 色达县| 宁国市| 吴忠市| 密云县| 昌邑市| 青铜峡市| 筠连县| 肃宁县| 四平市| 河南省| 奉节县| 青铜峡市| 墨玉县| 镇远县| 会泽县| 大渡口区| 青海省| 麻阳| 车致| 秦皇岛市| 宝应县| 洛隆县| 石河子市| 安龙县| 德钦县| 平阴县| 迁西县| 塘沽区|