简介

  • 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区别非常非常大
      • 如果是一个听一听,听不懂就算了的心态.一定是学不好的
      • 如果想要学习,就认真听讲,好好练习

资源网站

01-Swift 介绍的更多相关文章

  1. Swift开发学习-01 Swift介绍

    本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作,快 ...

  2. Swift介绍

    Swift介绍 Swift介绍 Swift发布于2014年wwdc大会,是苹果推出的一门编程语言,刚推出的时候主要在os X和iOS平台,今年wwdc大会上,苹果公司宣布今年年底Swift将会开源,开 ...

  3. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  4. 开源Math.NET基础数学类库使用(01)综合介绍

    原文:[原创]开源Math.NET基础数学类库使用(01)综合介绍 开源Math.NET基础数学类库使用系列文章总目录:   1.开源.NET基础数学计算组件Math.NET(一)综合介绍    2. ...

  5. Nmap原理-01选项介绍

    Nmap原理-01选项介绍 1.Nmap原理图 Nmap包含四项基本功能:主机发现/端口扫描/版本探测/操作系统探测.这四项功能之间存在大致的依赖关系,比如图片中的先后关系,除此之外,Nmap还提供规 ...

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

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

  7. 01.课程介绍 & 02.最小可行化产品MVP

    01.课程介绍 02.最小可行化产品MVP 产品开发过程 最小化和可用之间找到一个平衡点

  8. 前端 ----- 01 -html介绍和head标签

    01-html介绍和head标签   主要内容 web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 HTML规范 HTML结构详解 一.web标准 web准备介绍: w3c:万维网联 ...

  9. 【原创】开源Math.NET基础数学类库使用(01)综合介绍

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...

  10. 《精通并发与Netty》学习笔记(01 - netty介绍及环境搭建)

    一.Netty介绍     Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序.     ...

随机推荐

  1. Could not find the following Boost libraries: boost_python3

    安装Boost.NumPy时报错: CMake Error at /usr/share/cmake/Modules/FindBoost.cmake:1794 (message): Unable to ...

  2. 预加载 img 的方式。

    原生方式: var img = new Image(); img.onerror = function() { alert('img error'); }; img.onload = function ...

  3. unity3d 射弹基础案例代码分析

    #pragma strict import UnityEngine.UI; function Start () { } var speed : int = 5; var newobject : Tra ...

  4. alhpa阶段回顾

    说明:本次课程,大家按照我下面列出来的问题进行回顾和反思,总结alhpa阶段以来的得失.每个组都要回答这些问题.由组长或者组员来回答都可以.目的依然是让大家养成软工的一些习惯和思维方式. 1.最初的需 ...

  5. 广播后刷新界面-调用其他界面的方法触动广播后刷新该界面UI

    new CigaretteLoginActivity().login(ac,"switch_account",list.get(arg2).CUST_CODE,list.get(a ...

  6. Data import/export of Netezza using external table

    Introduction External table is a special table in Netezza system, which could be  used to import/exp ...

  7. poj 1276 Cash Machine(多重背包)

    Cash Machine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 33444   Accepted: 12106 De ...

  8. 为什么重写equals时必须重写hashCode方法?

    原文地址:http://www.cnblogs.com/shenliang123/archive/2012/04/16/2452206.html 首先我们先来看下String类的源码:可以发现Stri ...

  9. june 14

    Thank you for your applying for employment with our company. Your application is now being processed ...

  10. css中一些必要的公共样式

    body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend ...