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
01-Swift 介绍的更多相关文章
- Swift开发学习-01 Swift介绍
本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作,快 ...
- Swift介绍
Swift介绍 Swift介绍 Swift发布于2014年wwdc大会,是苹果推出的一门编程语言,刚推出的时候主要在os X和iOS平台,今年wwdc大会上,苹果公司宣布今年年底Swift将会开源,开 ...
- 《The Linux Command Line》 读书笔记01 基本命令介绍
<The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...
- 开源Math.NET基础数学类库使用(01)综合介绍
原文:[原创]开源Math.NET基础数学类库使用(01)综合介绍 开源Math.NET基础数学类库使用系列文章总目录: 1.开源.NET基础数学计算组件Math.NET(一)综合介绍 2. ...
- Nmap原理-01选项介绍
Nmap原理-01选项介绍 1.Nmap原理图 Nmap包含四项基本功能:主机发现/端口扫描/版本探测/操作系统探测.这四项功能之间存在大致的依赖关系,比如图片中的先后关系,除此之外,Nmap还提供规 ...
- vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍
这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式.目的是保存下来,方便自己查阅. !官方文档:https://cn.vuejs.org/v2/guide/ 01. ...
- 01.课程介绍 & 02.最小可行化产品MVP
01.课程介绍 02.最小可行化产品MVP 产品开发过程 最小化和可用之间找到一个平衡点
- 前端 ----- 01 -html介绍和head标签
01-html介绍和head标签 主要内容 web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 HTML规范 HTML结构详解 一.web标准 web准备介绍: w3c:万维网联 ...
- 【原创】开源Math.NET基础数学类库使用(01)综合介绍
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...
- 《精通并发与Netty》学习笔记(01 - netty介绍及环境搭建)
一.Netty介绍 Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. ...
随机推荐
- python基础知识---操作文件
一.打开文件 open()函数 open函数返回一个文件对象. 用法:open('文件名','模式') 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内 ...
- Python语法三
1. from os.path import exists import 了又一个很好用的命令 exists.这个命令将文件名字符串作为参 数,如果文件存在的话,它将返回 True,否则将返回 Fal ...
- 关于rank、dense_rank、ROW_NUMBER及OVER(PARTITION BY)、OVER(ORDER BY)的一些用法
CREATE TABLE t_harry ( id int NOT NULL, ) DEFAULT NULL, ChannelID ) DEFAULT NULL, TimeStamp datetime ...
- SpringMVC 表单复选框处理
<form action="" method="post"> <c:forEach items="${dblist}" v ...
- java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
使用repalceAll 方法出现java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0异常 ...
- 开始学java痛苦之旅开启 12-31日 第一章节笔记
1.JDK,Java development kit,开发环境(JDK)2.JRE 是Java运行环境 (Java Runtime Enviroment) 的缩写 我的电脑--属性--工具--文件夹选 ...
- iOS开发 代码 或 <Home+Power>截屏
1. 截屏的两种简单方法, 注意这两种截图方法,都必须在视图完全加载完成后才能截图,即在 viewDidAppear 方法之后截屏,否则无法得到想要的截屏效果 (1) 利用绘图方法 renderI ...
- CentOS6.5中配置Rabbitmq3.6.6集群方案
一.安装Erlang环境 1.下载erlang源代码 wget http://erlang.org/download/otp_src_19.1.tar.gz 2.安装依赖相关库文件 yum insta ...
- R作图
R一般的散点图:plot() 折线图:plot() lines() 柱状图 barplot() 箱子图 boxplot() 直方图:hist() 热力图:heatmap 画地图的:拓展包 m ...
- jquery的滑动
(1)slideDown(speed,callback)方法:用于想下滑动的方法. $("#flip").click(function(){ $("#panel" ...