欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  今天分享的主题是Java/Android开发人员如何快速上手Swift iOS开发。主要内容如下:
 
  1. WhyFrom Java/Android to Swift
 
  2. Swift语言为什么值得学习?
 
  3. Javavs Swift语法比较
 
  4. Android和iOS UI开发比较
 
  5. Androidvs Swift iOS框架比较
 
  6. 开发工具比较
 
  成本和效率方面,由于目前同业务的Android和iOS App产品功能一致,由一个团队开发可以降低业务同步和沟通成本,避免安卓和iOS两个团队带来的产品功能差异和沟通成本。
 
  Swift语法更接近Java,相对Objective C上手容易,我2012年曾经带过iOS项目,学过oc,因为无法忍受oc奇怪的语法最后放弃了,但这次学习swift iOS过程还是挺顺畅的,学习的主要门槛反而是Xcode IB的使用。
 
  Whynot React Native?
 
  ReactNative我们也要项目在用。但RN思想和语法的学习曲线有些陡,很多有Web开发经验的人都不一定喜欢。另外很多安卓开发者并没有学习过js,学习React Native成本会比较高。学习React Native最终还是要对原生开发有一定的了解。最后,在一些功能复杂的App,React Native用户体验比不上原生 。
 
  Whynot HTML5 Hybrid App?
 
  用户体验不够好,对于不熟悉Web开发的工程师学习成本比较高。
 
  2014年我们用ionic框架做过混合App,在iOS上效果可以,但在安卓低端机上比较卡,影响用户体验。
 
  Swift是现在Apple主推的语言,2014年新推出的语言,比Scala等“新”语言还要年轻10岁。2015年秋已经开源。目前在linux上可用,最近已经支持Android NDK;在树莓派上有SwiftyGPIO库,可以通过GPIO控制一些硬件。
 
  ObjectC is old and ugly,oc是1983年苹果推出的,过于陈旧和臃肿。
 
  Swift语法类似Scala,Javascript ES6, Java,OC, C++, Python,这个我是按照语法相似度排序的。
 
  Swift支持多范式编程:面向协议,面向对象和函数式编程 。
 
  最后,我们还可以通过Swift学习函数式编程思想,这块Java8才支持。
 
  l?基础语法
 
  l?函数
 
  l?struct和class
 
  l?Enum
 
  l?Interface vsProtocol
 
  l?MultiThread
 
  3.1基础语法
 
  Java
 
  Swift
 
  static final 常量
 
  Java语言没有,Guava库提供
 
  Java支持自增++,自减—
 
  逻辑控制和C基本一致
 
  Java有main方法
 
  Java需要;做行结束符
 
  var 变量,let常量
 
  可选型Optional,通过if let解包
 
  Swift不建议使用,3.0版本将不支持自增
 
  逻辑控制语句更现代
 
  Swift没有main方法
 
  Swift不需要行结束符
 
  Swift的switch 语法和Java及C++很像,但是它没有break,他命中一个case后会自动退出switch。对于几个不同case同样处理的情况,可以case后面连续几个condition,用逗号隔开。
 
  for循环和Java也基本一样,不过也是不需要括号。for循环中,..<的用法比较方便。下划线符号_(替代循环中的变量)能够忽略具体的值,并且不提供循环遍历时对值的访问。for-in则有点类似与Java中for each循环。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h62321.shtml