01-Swift 介绍
简介
- 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 介绍相关推荐
- vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍
这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式.目的是保存下来,方便自己查阅. !官方文档:https://cn.vuejs.org/v2/guide/ 01. ...
- html5学习笔记---01.HTML5介绍,02.HTML5的新特性
2013/6/10 01.HTML5介绍 a.创梦技术qq交流群:CreDream:251572072 -------------------- a.创梦技术qq交流群:CreDream:251572 ...
- [openstack swift]0 swift介绍
0 swift 介绍 0.1swift 是什么? OpenStack Object Storage 最开始是由 Rackspace 开发,并于 2010 年 7 月贡献给 OpenStack ,作为其 ...
- kali linux 渗透测试 01 kali介绍
安全问题的根源 分层思想------盲人摸象 只追求功能实现----比较片面 最大的安全威胁是人---- 安全目标 先于攻击者发现和防止漏洞出现 攻击型安全 防护性安全 渗透测试 尝试击破安全防御机制 ...
- 《『若水新闻』客户端开发教程》——01.课程介绍
内容介绍 2011年,若水工作室制作了<Android开发从零开始>系列课程,感谢大家的鼓励和支持.为了进一步提高Android开发培训水平,2012年若水工作室又倾心制作的项目实战视频『 ...
- 【转】带你玩转Visual Studio——01.开篇介绍
开篇之前,先唠叨几句 本人从事C++开发工作一年半,总想就C++开发方面写点东西.写什么呢?想了一下还是写点跟开发密切相关的吧,要说跟开发最密切相关的那莫过于就是开发工具了,也就是常常说的集成开发环境 ...
- 实时可视化大数据项目01 -- 项目介绍
1.项目架构 OGG + FileBeat + Kafka + Logstash + ElaticSearch + SpringBoot + Echarts + Jquery 2.项目介绍 1.项目是 ...
- 李宏毅机器学习01机器学习介绍
机器学习介绍 机器学习与人工智慧 人工智慧(AI).Artificial Intelligence是我们想要达成的目标,而机器学习是想要达成目标的手段,希望机器通过学习方式,他跟人一样聪明. 深度学习 ...
- Web服务器(01)——介绍web服务器
文章目录 Web服务器--介绍web服务器 一.Web服务简介 二.Web服务协议 三.Web服务器与应用服务器的区别 四.Web服务器的工作原理 1.链接过程 2.请求过程 3.应答过程 4.关闭连 ...
- Introducing Swift(Swift介绍及其API)
Home / OpenStack Swift / OpenStack Swift Architecture http://www.swiftstack.com/openstack-swift/arch ...
最新文章
- (68)自旋锁 , cmpxchg8b 指令
- java 如何判定消息已在队列_Java面试—消息队列
- sand.A java_java中volatile关键字的含义(转)
- JAVA生成并导出json文件
- 简述垃圾对象产生_使用零垃圾创建数百万个对象
- 以30字符宽居中输出python字符串_Python3 字符串
- 【转贴】谈论 Direct3D10特性预览
- 潦草字体在线识别_遇到好看的字体?不会识别?教你如何快速识别字体
- 点计算机管理没反应,电脑任务栏卡住,点击没有反应怎么办?
- 怎样裁剪PDF文件中的页面
- ISelectionMgr Interface
- 深度分析何恺明新作MAE:通向CV大模型
- 循序渐进大数据组件之--【Zookeeper 03】进阶(选举机制以及ZBA协议)
- 【本地ASP网站】Microsoft OLE DB Provider for ODBC Drivers
- 微信直播聊天室架构演进
- Linux查看进程信息相关(Ubuntu)
- 空间路面matlab,基于Matlab的三维随机路面联合建模与仿真研究
- win11中VMware开启虚拟机电脑蓝屏的解决方法
- 关于2022年10月谷歌浏览器无法使用翻译功能的解决办法
- java 书籍借阅 问题_关于图书借阅系统的问题
热门文章
- 1 时间序列基本概念
- linux kernel defconfig和.config
- Markdown 图标 快捷键
- 如何正确选择合适的贷款机构,避免征信花掉?
- 单片机小白学步系列(十六) 单片机/计算机系统概述:模块化思想
- qt开发环境 - 丁林松教程,丑陋的计算器
- python编码规范utf8还是gbk还是ask_彻底搞懂 Python 编码
- ant构建项目迁移到gradle_Gradle构建工具
- 神舟笔记本电源管理软件_笔记本电脑是一直插着电源好,还是拔了电源好?
- linux命令行安装谷歌浏览器,Linux(ubuntu) 三行代码搞定安装谷歌浏览器