简介

  • Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序
  • 2014 年,在 Apple WWDC 发布
    • 几家欢喜,几家愁
    • 愁者:只学Object-C的人
    • 欢喜者:之前做过java/python/js语言的人

历史

  • 2010 年 7 月,苹果开发者工具部门总监 Chris Lattner 开始着手 Swift 编程语言的设计工作
  • 用一年时间,完成基本架构
  • Swift 大约历经 4 年的开发期,2014 年 6 月发表
  • 克里斯·拉特纳何许人?
    • LLVM 项目的主要发起人与作者之一
    • Clang 编译器的作者
    • 苹果公司『开发者工具』部门的主管
    • 领导Xcode、Instruments等编译器团队
    • Swift的大部分基础架构均由他1人完成
    • 评价:
      • 大神中的大神
      • 牛逼中的牛逼

特点

  • 特点

    • 从它的语法中能看到Objective-C、JavaScript、C#、Python等语言的影子
    • 语法简单、代码简洁、使用方便
    • 可与Objective-C混合使用(相互调用)
    • 提供了类似 Java 的名字空间(namespace)、泛型(generic)、运算对象重载(operator overloading)
  • 为什么设计Swift语言

    • 让应用开发更简单、更快、更稳定
    • 确保最终应用有着更好的质量

Swift与Objective-C

  • 是否要从0开始呢?

    • 很多人有个疑惑,新的Swift语言一出,大家都要从开始学语法
    • 现在使用Objective-C的iOS程序员 跟 其他行业的非iOS程序员站在了同一条起跑线?大家从零开始
  • 个人观点
    • Swift是一门新的语言,语法难度对每个程序员都差不多,从学习Swift的语法角度看,大家是站在同一条起跑线
    • 从使用Swift做iOS开发的角度看,使用Objective-C的老牌iOS程序员更占优势,因为从Objective-C转为Swift去做iOS开发,仅仅是书写的格式变换了,iOS开发的步骤、思想、框架,都没有改变

现状

  • 目前有些公司的新项目已经直接采用 Swift 开发
  • 目前很多公司已经在做 Swift 的人才储备
  • 应聘时,会 Swift 开发 无疑会增加自身筹码
  • 但是国内大部分公司还在观望

重要性

  • 苹果目前在大力推广Swift
  • 斯坦福大学的公开课目前也是使用Swift在授课.因为以后Swift必将代替OC
  • 题外话:我们同学去面试,面试官问是否会Swift,如果会,我们下个项目直接用Swift来写.你可以教我们Swift.
  • 个人建议:
    • 先掌握Swift最基本的语法
    • 高级/特殊的功能随着学习的深入再深入研究
    • 千万不要浮躁(前面班级经验)
      • Swift并不难
      • 但是语法和OC区别非常非常大
      • 如果是一个听一听,听不懂就算了的心态.一定是学不好的
      • 如果想要学习,就认真听讲,好好练习

资源网站

  • 《The Swift Programming Language》中文版 http://numbbbbb.gitbooks.io/-the-swift-programming-language-/

  • swifter 作者王巍,需要付费购买 http://onevcat.com

转载于:https://www.cnblogs.com/mgmingmingjiushini/p/5413265.html

01-Swift 介绍相关推荐

  1. vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍

    这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式.目的是保存下来,方便自己查阅. !官方文档:https://cn.vuejs.org/v2/guide/ 01. ...

  2. html5学习笔记---01.HTML5介绍,02.HTML5的新特性

    2013/6/10 01.HTML5介绍 a.创梦技术qq交流群:CreDream:251572072 -------------------- a.创梦技术qq交流群:CreDream:251572 ...

  3. [openstack swift]0 swift介绍

    0 swift 介绍 0.1swift 是什么? OpenStack Object Storage 最开始是由 Rackspace 开发,并于 2010 年 7 月贡献给 OpenStack ,作为其 ...

  4. kali linux 渗透测试 01 kali介绍

    安全问题的根源 分层思想------盲人摸象 只追求功能实现----比较片面 最大的安全威胁是人---- 安全目标 先于攻击者发现和防止漏洞出现 攻击型安全 防护性安全 渗透测试 尝试击破安全防御机制 ...

  5. 《『若水新闻』客户端开发教程》——01.课程介绍

    内容介绍 2011年,若水工作室制作了<Android开发从零开始>系列课程,感谢大家的鼓励和支持.为了进一步提高Android开发培训水平,2012年若水工作室又倾心制作的项目实战视频『 ...

  6. 【转】带你玩转Visual Studio——01.开篇介绍

    开篇之前,先唠叨几句 本人从事C++开发工作一年半,总想就C++开发方面写点东西.写什么呢?想了一下还是写点跟开发密切相关的吧,要说跟开发最密切相关的那莫过于就是开发工具了,也就是常常说的集成开发环境 ...

  7. 实时可视化大数据项目01 -- 项目介绍

    1.项目架构 OGG + FileBeat + Kafka + Logstash + ElaticSearch + SpringBoot + Echarts + Jquery 2.项目介绍 1.项目是 ...

  8. 李宏毅机器学习01机器学习介绍

    机器学习介绍 机器学习与人工智慧 人工智慧(AI).Artificial Intelligence是我们想要达成的目标,而机器学习是想要达成目标的手段,希望机器通过学习方式,他跟人一样聪明. 深度学习 ...

  9. Web服务器(01)——介绍web服务器

    文章目录 Web服务器--介绍web服务器 一.Web服务简介 二.Web服务协议 三.Web服务器与应用服务器的区别 四.Web服务器的工作原理 1.链接过程 2.请求过程 3.应答过程 4.关闭连 ...

  10. Introducing Swift(Swift介绍及其API)

    Home / OpenStack Swift / OpenStack Swift Architecture http://www.swiftstack.com/openstack-swift/arch ...

最新文章

  1. (68)自旋锁 , cmpxchg8b 指令
  2. java 如何判定消息已在队列_Java面试—消息队列
  3. sand.A java_java中volatile关键字的含义(转)
  4. JAVA生成并导出json文件
  5. 简述垃圾对象产生_使用零垃圾创建数百万个对象
  6. 以30字符宽居中输出python字符串_Python3 字符串
  7. 【转贴】谈论 Direct3D10特性预览
  8. 潦草字体在线识别_遇到好看的字体?不会识别?教你如何快速识别字体
  9. 点计算机管理没反应,电脑任务栏卡住,点击没有反应怎么办?
  10. 怎样裁剪PDF文件中的页面
  11. ISelectionMgr Interface
  12. 深度分析何恺明新作MAE:通向CV大模型
  13. 循序渐进大数据组件之--【Zookeeper 03】进阶(选举机制以及ZBA协议)
  14. 【本地ASP网站】Microsoft OLE DB Provider for ODBC Drivers
  15. 微信直播聊天室架构演进
  16. Linux查看进程信息相关(Ubuntu)
  17. 空间路面matlab,基于Matlab的三维随机路面联合建模与仿真研究
  18. win11中VMware开启虚拟机电脑蓝屏的解决方法
  19. 关于2022年10月谷歌浏览器无法使用翻译功能的解决办法
  20. java 书籍借阅 问题_关于图书借阅系统的问题

热门文章

  1. 1 时间序列基本概念
  2. linux kernel defconfig和.config
  3. Markdown 图标 快捷键
  4. 如何正确选择合适的贷款机构,避免征信花掉?
  5. 单片机小白学步系列(十六) 单片机/计算机系统概述:模块化思想
  6. qt开发环境 - 丁林松教程,丑陋的计算器
  7. python编码规范utf8还是gbk还是ask_彻底搞懂 Python 编码
  8. ant构建项目迁移到gradle_Gradle构建工具
  9. 神舟笔记本电源管理软件_笔记本电脑是一直插着电源好,还是拔了电源好?
  10. linux命令行安装谷歌浏览器,Linux(ubuntu) 三行代码搞定安装谷歌浏览器