iOS8 对开发人员来说意味着什么?
今天凌晨。Apple WWDC2014 iOS8 正式推出。
或许,对于广大iOS用户来说,iOS8的创新并非特别多。
但对于开发人员来说,影响却将会是无比巨大的!
正如Apple官网上的广告:Huge for developers.Massive for everyone else!
那如今。我们来看看iOS8将对我们开发人员带来什么改变?
No.1 Swift 语言
Ok,Apple推出了一个新的开发语言来替代Objective C。
本来Objective C这个语言我以为已经比其它语言优雅得多,
如今,Apple又将编程进一步变得更简单更有趣了!
Swift语言的优势在哪里?
1)更简洁!
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29uZ3JvdGVr/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
曾经Objective C要用几行代码如今Swift可能仅仅要一行!
代码量确实能够降低非常多。
就初步看了一下从iBookStore下下来的Swift语言手冊,
能够看到Swift把差点儿全部的语法都简化了。
2)所见即所得
这个特性非常强大,这使得编程变得非常有趣。不是吗?
是不是以后的小孩5,6岁就能够编程了呢?非常有可能。
比方我们用Sprite Kit编游戏。我们如今能够边编写边看到编写的效果!
3) 高速。强大,安全
这些都是Apple官网上说的。作为一个Apple潜心开发了多年的语言,这些基本要求必须有!
并且Debug的时候在Xcode有个相似脚本的环境Read-Eval-Print-Loop (REPL)。
由上面可见Swift语言的革新性,简洁易用正是编程语言最重要的特性,这才有利于一种语言的发展。Swift语言的推出我认为将使得越来越多的爱好者投入到App的开发其中。
No.2 Game游戏开发
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29uZ3JvdGVr/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
如今不仅仅能够用Sprite Kit来开发2D游戏。iOS8的到来,Scene Kit 3D游戏引擎也能够用了。
或许非常多人还在使用Cocos 2D,Unity 3D来开发游戏。
或许Sprite Kit和Scene Kit的无法跨平台使非常多人失去了使用的兴趣!
可是 要明白一点:
Sprite Kit和Scene Kit与iOS的深度融合使得在iOS开发游戏变得极其简单,这是其它游戏开发引擎所全然无法比拟的!
再加上Swift语言的结合,在iOS开发游戏的体验将会前所未有的Happy!
No.3 Home Kit
对于Home Kit,恐怕非常多开发人员不会关注太多!但这个Home Kit的推出事实上代表了未来的趋势!
Apple也看到了这一点:智能家居!
Home Kit是什么?
一个全新的Framework用来交互并控制用户家中的各种连接到iOS上的设备!
使用Home Kit将使开发连接iOS的硬件设备变得更easy,甚至Apple提供了Home Kit Accessory Simulator模拟器来測试与设备之间的通信!
用iPhone来控制点灯什么的之前就已经有了,而未来仅仅要硬件厂商支持Home Kit的协议,那么我们家里的全部电器设备都能够用iOS来控制!
关键是开发难度极大降低了!
并且我们通过Siri还能够语音控制。这是不是略科幻了?
当然,我们显然还能够开发一下机器人,然后用iOS控制一下!
因此我认为Home Kit非常重要!
但这个有待广大硬件开发人员的努力!
No.4 Touch ID
Touch ID支持应用开发!
这个功能是我们能够预见的!
所以,以后淘宝用Touch ID付款将会实现!
或者以后我们在超市买东西用iPhone指纹付款!
指纹的使用或许将从新真正进入到我们的生活领域。
No.5 Health Kit
健康对大家是越来越重要了。
关于Health kit网上是说得非常多了,这里就不再说明!
但大家都能看到的是我们的手机的功能正在被极大的扩展!
手机不再仅仅是用屏幕罗!
当然。假设是几年前得说手机不再仅仅是打电话。
手机将成为一个物联网的控制终端。手机不仅仅是信息的媒介!
反过来看,手机也将是可穿戴设备!
No.6 App Extension
对于App Extension。我认为是Android化了。
换句话说就是Apple开放了!
Apple 自带app能使用的功能,如今我们也能够使用!
分享,图片编辑,文档,Widget。。
。
感觉我们能够做一个媲美Apple自带App的App!
还须要越狱吗?第三方输入法都能够了!
No.7 Unified Storyboards
iPhone6传言要更大!
然后作为开发人员我们得头大!
那么多的屏幕??怎么搞?
好了。iOS8 推出Unified Storyboards!
用一个界面编辑器解决各种大小的界面问题!
因此我们不是必需操心iPhone,iPad的屏幕大小问题!
Apple必须为我们解决!
No.8 Photos, iCloud
关于这双方面也非常重要。但相对来说仅仅是对原有功能的扩展。变得更强大了,谈不上什么革新!
最后我们看官方文档中显示的iOS8下废除不用的东西(纯粹转载):
The following APIs are deprecated:
The
UIApplication
methods and properties for registering notifications. Use the new API instead.The
UIViewController
methods and properties for interface orientation. Traits and size classes replace them, as described in Unified Storyboards for Universal Apps. There are other smaller changes to UIKit API to support size classes; often older interfaces that used specific device idioms have been replaced.The UISearchDisplayController Class Reference class. This class is replaced by the
UISearchController
class.Methods and properties in Game Kit that use player identifier strings.
看到了吗?连UIApplication。UIViewController的非常多方法属性都不用了!
iOS8 的变化真的非常大!
Are you Ready?
【注:以上文章为原创文章,如需转载,麻烦注明出处!谢谢。songrotek】
iOS8 对开发人员来说意味着什么?的更多相关文章
- Objective C (iOS) for Qt C++ Developers(iOS开发,Qt开发人员需要了解什么?)
Qt/C++开发人员眼中的Obj-C 对于我们第一次自己定义iOS应用来说,对于来自Qt/C++开发人员来说,我不得不学习Objective-C相关语法与知识 为了让读者可以更easy理解这 ...
- iOS 开发人员不可缺少的75个工具
原文出处: Ben Scheirman 译文出处: Njuxjy 假设你去到一位熟练的木匠的工作室,你总是能发现他/她有一堆工具来完毕不同的任务. 软件开发相同如此. 你能够从软件开发人员怎样使用工具 ...
- iOS开发人员:事实上你还有非常多东西须要学
iOS 新特性总结(since iOS6) iOS 6 1.废除viewDidUnLoad 收到内存警告须要到didReceiveMemoryWarning中处理 [小技巧] -(void)didRe ...
- Fedora 29 Linux发行版发布,新功能使Web开发人员的工作更方便
Matthew Miller宣布发布Fedora 29.这个项目的最新版本是在Fedora Core 1发布后几乎整整15年才发布的,并且可以在多个版本中用于多个体系结构. 最新版本的Fedora已经 ...
- iOS8: 企业开发的终结?
iOS 8 的公布(如今是 iOS8.1),并非对全部人来说都是值得高兴的事情. 对那些使用企业部署(不经过商店公布)的 app 开发人员来说,又被苹果坑到了. 由于 iOS 8 的一个Bug.导致企 ...
- 为什么我建议每个开发人员都需要学Python?
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/10-reasons-why-every-d ...
- .NET开发人员必看:提高ASP.NET Web应用性能的24种方法和技巧
那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...
- 作为一个web开发人员,哪些技术细节是在发布站点前你需要考虑到的
前日在cnblogs上看到一遍文章<每个程序员都必读的12篇文章>,其中大多数是E文的. 先译其中一篇web相关的”每个程序员必知之WEB开发”. 原文: http://programme ...
- .NET开发人员必须知道的八个网站
对于不熟悉.NET技术的朋友,需要说明一下,.NET提供了一个平台和一些相应的工具,.NET开发人员可以使用它们来在开发Windows桌面,互联网,甚至是手持移动设备上构建极富交互性的应用.很有可能你 ...
随机推荐
- 网络通信-ping命令
- Java容器源码解析之——LinkedList
我们直接从源码来分析LinkedList的结构: public class LinkedList<E> extends AbstractSequentialList<E> im ...
- HBase框架基础(一)
* HBase框架基础(一) 官方网址:http://hbase.apache.org/ * HBase是什么妖怪? 要解释HBase,我们就先说一说经常接触到的RDBMS,即关系型数据库: ** m ...
- Spring深入浅出(四)AOP面向切面
面向切面编程--AOP AOP(Aspect Oriented Programming),程序员称之为面向切面编程,是Spring框架除了IOC之外的另一个核心概念. AOP是对OOP(面向对象编程) ...
- Android TabLayout添加自定义分割线并且可以修改分割线高度
为TabLayout添加分割线,显示的效果如下(红框内部分): 分割线 首先添加个竖线xml名为layout_divider_vertical: LinearLayout linearLayout = ...
- Linux 设置交换分区
当需要添加swap分区时,可以使用如下方法:设置交换分区:1 以dd指令建立swapoff2 mkswap 来将swapfile 格式化为swap的档案格式.3 swapon 来启动该系统文件,使之成 ...
- Linux cp 复制命令
Linux 的cp命令 功能: 复制文件或目录说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若 ...
- Nginx的日志备份操作
正常情况下,我们给一个日志文件做备份.通常会 mv access.log access.log.0313 ,之后创建一个新的 touch access.log 会认为是备份完成了:旧的日志 ...
- yii2.0缓存篇之页面缓存
页面缓存: 如果整个页面都不会发生改变,就可以使用页面缓存缓存整个页面. public function behaviors(){ //此方法[也叫行为]会提前控制器内其他方法执 ...
- Rman备份及不完全恢复操作
最后更新时间:2018/12/18 启用归档 --检查是否为归档 SQL> archive log list; Database log mode No Archive ...