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提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. ...
随机推荐
- SE要有政治能力
不光是SE,任何人都需要政治能力. 那么,什么是政治能力?政治能力就是让周围的人跟你一起,一条心,完成你想干的事情的能力. 我们任何人,生活也好,工作也好,学习也好,都不是一个人孤单进行的,都是通过几 ...
- JavaScript校验图片格式及大小
<!DOCTYPE html> <html> <head> <title>JavaScript校验图片格式及大小</title> <s ...
- shell 脚本杀死后台由php脚本控制运行的所有php脚本和java程序
效果: 运行命令: ./killallphpjavarm.sh java 源码: #!/bin/sh#根据进程名杀死进程#FileName: killjavaphprm.sh pgrep php ki ...
- eclipse debug maven项目时出现缺少库的问题
调试maven web项目时出现缺少库的情况导致项目无法启动 可是打包到tomcat发布却一切正常 后来在stackoverlow上找到了解决方案 项目右键属性->Deployment Ass ...
- 一个Tomcat多端口多项目部署
为什么突然写这个呢,前两天面试了,被面试官给问住了,回来一查.....怎么这么简单,当时我就....你懂得. 我用的是Tomcat7,用Eclipse新建了两个简单的web项目,贴出web1的截图,w ...
- ajax data传值
如果要我们要把整个form1表单中的输入框都传过去可以用data:$("#form1").serialize(), 但是我们如果还要传一个不在form中的值呢? 可以使用下面这种方 ...
- Canvas画图在360浏览器中跑偏的问题
问题描述,canvas画图的js代码中编写的是画正方形的代码,结果在360浏览器上变成了长方形,不知道怎么回事,请问各位大神是否遇到过此类问题? <!DOCTYPE html> <h ...
- 复制SharePoint列表项(SPListItem)到另一个列表
从理论上讲,有一个简单到难以置信的解决办法:SPListItem提供了一个CopyTo(destinationUrl)方法(可参考MSDN).不幸的是,这个方法似乎用不了.至少对我的情况(一个带附件的 ...
- 使用Docker Image跑Gitlab
下载gitlab docker镜像 docker pull gitlab/gitlab-ce:latest 启动gitlab服务 sudo docker run --detach \ --hostna ...
- sqlserver创建,调用 带返回值存取过程
<1>create: ALTER proc [dbo].[common_proc] @sql1 varchar(5000), @sql2 varchar(5000) OUTPUT as ...