用苹果电脑适合编程吗六能写什么编程

苹果6有开发者工具,有什么作用?又如何使用?_百度知道天气开始慢慢转凉,是时候多去室外走动走动了。不管是秋游,还是逛街难免会无聊无事做...
邀请函一经公布,各种有趣的猜想联翩,有些似乎合理,有些却能让人笑cry。我们在趣说...
这款手游为何可以如此顺利地系列化?并且在5年之后推出的新品依旧能得到市场的青睐。
发布会将于当地时间9月7日上午10点正式开幕,北京时间为9月8日(周四)凌晨1点。准备好...
既然以“Pro”为名,机能的进步是至关重要的,尤其是它的 GPU 将要迎来的变化。
10月是否会有一场为Mac而专门准备的发布会,目前还不得而知。
32GB,128GB再加上256GB,这样的ROM搭配满意否?
全新的“深色”可能是一种看起来非常光滑的黑色,具体可参照2013年的Mac Pro外观颜色...
躲避类游戏在移动平台上算是出镜率比较高的,不过现在的躲避游戏同质化程度越来越高,...
如果你在一座城市久居,却因整日的忙碌而忽略了它的内在之美;如果你想去一个地方旅行...
就在上周四,独立游戏工作室“正义之锤(Righteous Hammer Games)”在 App Store 上...
Tales & Dice AB 推出的《汉娜&亨利-生日会(Hanna & Henri - The Party)》是一款深...
很多爱电子音乐爱到疯狂的朋友们都或多或少的想要制作一首属于自己的乐曲,但纵观如今...
《夜之门》的开发团队是曾经推出过《Last Voyage(最后的航程)》、《Kotoro(探索色...
Wall West 早些时候曾推出过 3 部作品,但是综合质量和可玩性都不高,于是 Wall West ...
苹果推出的无线键盘 Magic Keyboard 有着非常不错的表现,但是并非每个人都准备花上 1...
Privoro 公司表示,有了这款产品,监听 iPhone 是一件不可能完成的事情。
论数量,Android一直都是第一,但这能说明这个平台统治了移动市场吗?
在Cydia中搜索插件,似乎并不是那么容易让越狱用户感到舒心。
三星也是拼了,不过对Apple Watch的影响好像不会很大。
看起来还不错,这点电量还是可以作为应急用的。
它内置4000mAh锂离子电池,可完整充满Apple Watch多达6次。
小小的一根U8,却可以解决许许多多烦恼,让你的 iPhone,iPad 不再因为“瘦身”而烦恼...
苹果为什么不能开发个为软件加密的功能
注册时间 最后登录
在线时间120 小时 UID
主题帖子人气
白苹果, 积分 897, 距离下一级还需 603 积分
我刚看魅族Flyme4.1评测,直接可以为应用加密,通过密码指纹都可以,为什么苹果不开发个这样的功能?一劳永逸啊,还用等一个个APP龟爬似的效率加入Touch ID?
注册时间 最后登录
在线时间0 小时 UID
主题帖子人气
提示: 作者被禁止或删除 内容自动屏蔽
注册时间 最后登录
在线时间93 小时 UID
主题帖子人气
不是有插件可以实现吗?
注册时间 最后登录
在线时间501 小时 UID
主题帖子人气
人性化,国产系统完爆ios。 要知道苹果首先考虑的不是中国人的使用习惯。
注册时间 最后登录
在线时间440 小时 UID
主题帖子人气
我比较看好Asphaleia,等更新支持IOS8.1吧
注册时间 最后登录
在线时间880 小时 UID
主题帖子人气
出于安全考虑、不是有的程序内置安全锁的吗?
注册时间 最后登录
在线时间4 小时 UID
主题帖子人气
提示: 作者被禁止或删除 内容自动屏蔽
注册时间 最后登录
在线时间5434 小时 UID
主题帖子人气
不越狱能做到?回6楼小螃蟹吃苹果于3 分钟前发表的: 可以啊,,。楼主不知道罢了。安装个 bioprotect插件就行
可以设置指纹开程序。......
注册时间 最后登录
在线时间4 小时 UID
主题帖子人气
提示: 作者被禁止或删除 内容自动屏蔽
威锋旗下产品
Hi~我是威威!
沪公网安备 29号 | 沪ICP备号-1
新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!12821人阅读
iOS网络编程(25)
iOS开发那些事(137)
在iOS&6之后,不再使用谷歌地图了,而是使用苹果自己的地图,但是API编程接口没有太大的变化。开发人员不需要再学习很多新东西就能开发地图应用,这是负责任的做法。因此本节介绍的内容也同样适用于iOS5上运行地图应用开发。iOS应用程序中使用Map&Kit&API开发地图应用程序。&其核心是MKMapView类使用。我们可以设置地图显示方式、控制地图,可以在地图上添加标注。显示地图在Map&Kit&API中显示地图的视图是MKMapView,它的委托协议是MKMapViewDelegate。Map&Kit&API使用需要导入MapKit框架。下面我们通过一个案例介绍一下面我们介绍一下Map&Kit&API的使用。这个案例在“输入查询地点关键字”文本框中输入关键字,点击“查询”按钮,先进行地理信息编码查询,查询获得地标信息后,在地图上标注出来。首先添加框架MapKit.framework。然后在工程中打开MainStoryboard.storyboard的IB设计,从对象库中拖拽Map&View到设计画面中。调整它的位置和大小使得Map&View尽可能填出画面下面的空白部分,然后为Map&View定义输入出口。下面我们看看主视图控制器ViewController.h代码:#import &UIKit/UIKit.h&
#import &MapKit/MapKit.h&
#import ”MapLocation.h”
@interface ViewController : UIViewController &MKMapViewDelegate&
@property (weak, nonatomic) IBOutlet UITextField *txtQueryK
@property (weak, nonatomic) IBOutlet MKMapView *mapV
- (IBAction)geocodeQuery:(id)
@end由于使用Map&Kit&API,需要引入头文件&MapKit/MapKit.h&,头文件”MapLocation.h”是我们自己定义的描述地图标注点类。在定义ViewController时,还需要声明实现MKMapViewDelegate协议。txtQueryKey属性是查询关键字文本框,mapView属性是MKMapView类型,它与画面对应。点击查询按钮触发geocodeQuery:方法,它处理查询并在地图上做标注。下面我看看ViewController.m的viewDidLoad方法代码:- (void)viewDidLoad
[super viewDidLoad];
_mapView.mapType = MKMapTypeS
_mapView.delegate =
}在viewDidLoad方法中设置地图的类型,它的类型有3种:MKMapTypeStandard&标注地图类型。MKMapTypeSatellite&卫星地图类型。在卫星地图中没有街道名称等信息;MKMapTypeHybrid&混合地图类型。在混合地图是在卫星地图上标注出街道等信息;
viewDidLoad方法的_mapView.delegate&=&self语句是当前视图控制器赋值给地图视图的delegate属性,这样地图视图在需要的时候就会回调ViewController,如果失败,回调下面的失败方法:- (void)mapViewDidFailLoadingMap:(MKMapView *)theMapView withError:(NSError *)error {
NSLog(@”error : %@”,[error description]);
}跟踪用户位置变化MapKit提供了跟踪用户位置和方向变化的API,我们不用自己编写定位服务代码。开启地图视图的showsUserLocation属性,并设置方法setUserTrackingMode:就可以了,代码如下:- (void)viewDidLoad
[super viewDidLoad];
if ([CLLocationManager locationServicesEnabled])
_mapView.mapType = MKMapTypeS
_mapView.delegate =
_mapView.showsUserLocation = YES;
[_mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];
}其中代码_mapView.showsUserLocation&=&YES,允许跟踪显示用户位置信息。在iOS设备中显示用户位置方式是一个发亮的蓝色小圆点。[_mapView&setUserTrackingMode:MKUserTrackingModeFollow&animated:YES]语句设置用户跟踪模式,用户跟踪模式有3种:MKUserTrackingModeNone&。没有用户跟踪模式;MKUserTrackingModeFollow&。可以跟踪用户的位置变化;MKUserTrackingModeFollowWithHeading&。可以跟踪用户的位置和方向变化;然后,我们还需要实现地图视图委托方法mapView:didUpdateUserLocation:,它的代码如下:- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
_mapView.centerCoordinate = userLocation.location.
}该委托方法在定位服务更新完成用户位置时候回调该方法,我们在该方法中重新调整地图的中心点为当前用户的中心点,其中_mapView.centerCoordinate&=&userLocation.location.coordinate语句就是实现该目的。这几行代码就可以跟踪用户位置的变化了,但是为了这样一个小的案例拿着iPhone在外面跑一圈进行测试没有必要。可以使用模拟器测试,模拟器有几个固定的模式可以发出连续变化的数据。测试运行在画面中会有一个小圆圈,它按照我们设定的速度一直运行。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
技术讨论群cocos群:7760386;iOS学习讨论qq群:4462948 技术讨论论坛,关东升图书读者qq群:
访问:1240853次
积分:15924
积分:15924
排名:第433名
原创:366篇
转载:37篇
评论:318条
文章:78篇
阅读:265997
文章:10篇
阅读:22587
文章:54篇
阅读:283152
(3)(4)(11)(12)(13)(10)(18)(15)(11)(9)(20)(1)(2)(20)(15)(15)(20)(13)(16)(16)(1)(4)(4)(10)(14)(11)(8)(8)(3)(8)(6)(5)(5)(1)(4)(1)(13)(7)(8)(2)(19)(6)(1)(1)(6)(2)(3)苹果要用 Swift 语言颠覆传统编程 - 开源中国社区
当前访客身份:游客 [
当前位置:
苹果要用 Swift 语言颠覆传统编程
美国知名科技媒体《连线》日前对从市场前景、核心优势和竞争对手等方面对苹果最新推出的Swift编程语言进行了一番全面剖析。文章认为,虽然Swift作为后来者面临着诸如Objective-C、C++这类语言以及谷歌、Facebook这些企业的前后夹击,但Swift自身的巨大优势以及苹果设备在开发者心目中的巨大影响力,还是为其赋予了能够颠覆传统编程模式的巨大潜力。
以下是文章主要内容:
知 名开发人克里斯-莱特纳(Chris Lattner)此前花费了一年半的时间在一款全新编程语言的开发工作上。在这段时间内,他没有将自己的工作内容向任何一个人透露过。这个项目是在 2010年的夏天正式展开的,当时的莱特纳几乎每个周末和晚上都扑在这个项目中,到2011年底这个全新编程语言的基本架构终于成形。
也 就是在那个时候,莱特纳决定把这个秘密项目告诉公司高管。在深入了解了这一项目后,这些高管认为该项目非常有潜力,并特地为其指定了数名有经验的工程师协 助开发。在18个月后,该项目已经成为了该公司最重要的项目之一,大量工程师都参与到了这一项目中,且公司认为这是一个有可能彻底颠覆传统电脑编程流程的 全新语言。
众所周知,这个项目就是Swift编程语言,而莱特纳则是目前苹果开发者工具部门总监。
今 年6月2日,苹果首次针对广大开发者放出了Swift编程语言的测试版本,并对外宣称这是一个能让开发者更快、更轻松为iOS设备编写软件的工具。莱特纳 就读伊利诺伊大学厄巴纳-香槟分校时的研究生导师维克拉姆-艾夫(Vikram Adve)曾经同莱特纳一起开发了Swift语言的最基层软件平台,但就连他都不知道莱特纳竟然独自一人在这个编程项目上花费了如此巨大的心血。
“苹果实在太保密了,莱特纳也深受真传。我当时只知道他正在负责一个项目,但我并不知道这个项目的具体内容。”艾夫笑着说道。
通 常来说,如果一款编程语言被刚刚编写完成后,它通常需要多年的时间才能拥有足够多的开发者用户,即便该语言拥有像苹果这样巨型企业的支持也不例外。举例来 说,谷歌曾在2009年推出了一个名为“Go”的全新编程语言,虽然这一语言的开发者包括了诸如Unix操作系统联合开发者、同时也是C语言之父肯-汤普 逊(Ken Thompson)以及前贝尔实验室研究员卢勃-帕克(Rob Pike)这些业内泰斗,但该语言直到目前还没有得到全球大多数程序员的认可。
但我们 认为,Swift的命运将同Go截然不同,该语言甚至有可能在今秋正式发布后迅速得到业内的认可,并超过当年Java和C#语言的发展速度。这主要是因为 该语言是一款面向普通开发者的编程语言,它拥有着无与伦比的易用性,即便是最初级的编程员都能够很快掌握该语言。同时,目前有许多的程序员都专注于为 iOS平台编写应用,此前他们所使用的主要语言是Objective-C,但全新Swift显然比前者拥有更多优势,而这也就在一定程度上确保了该语言的 使用基数。
“谷歌Go没有给予开发者足够的理由去采用这一语言,而Swift却并非如此。人们会争先恐后的拥抱这一全新语言,因为它的编程流程相比Objective-C更为简单。”专注于全球编程语言动态的Tiobe公司总经理保罗-詹森(Paul Jansen)说道。
目 前,尽管Swift还处于自己的测试阶段,但代码托管网站GitHub上已经有超过2400个项目基于Swift代码开发。本月,Swift还登上了 Tiobe发布的全球讨论率最高编程语言第16名的位置。需要指出的是,当谷歌在2009年推出Go语言的时候也曾取得过类似的成绩,但该语言随后在 Tiobe上的排名便一落千丈。然而,詹森认为这样的情况恐怕不会在Swift身上重演。
“因为Swift处于苹果生态系统的最核心地位,而他们只要不将其搞砸就可以了。”C++语言领域的泰斗级人物安德烈-亚历克斯德苏(Andrei Alexandrescu)说道。
目前,莱特纳是苹果开发者工具部门总监,他的主要工作是负责管理所有可以让苹果工程师和开发者为公司设备编写程序的工具。在此之前,莱特纳曾主持开展了构架编译器框架系统LLVM的开发工作,而LLVM也恰恰是目前苹果开发工具Xcode的基础架构平台。
2005 年,莱特纳加盟苹果,并开始致力于LLVM在苹果开发体系中的应用。同时,苹果也一直是LLVM计划的主要资助方之一。我们曾在撰写这篇文章时向莱特纳提 出了采访邀请,但后者表示只有得到苹果公关部门的批准才能接受采访。不过,莱特纳还是在自己的博客中简单谈到了这个项目的开展初衷,那就是他希望 Swift能够同苹果现有开发工具兼容,甚至可以让开发者在使用Objective-C的同时使用Swift。
平息而论,苹果仍然需要提供更加充足的理由来鼓励开发者从Objective-C转投Swift平台。毕竟,现有开发者大都从未接触过Swift。
“我是第一个、也是目前唯一一个拥有四年Swift使用经验的开发者。”莱特纳在Twitter上这样说道。
对此,已经为苹果各类硬件产品编写了15年程序的资深开发人员麦克-阿什(Mike Ash)也承认:“大多数全新编程语言都会止步不前,少数获得开发者青睐的语言通常也需要经历许多年的过渡时期。”
但 话虽如此,阿什目前已经开始利用这一全新语言编写应用了。因为虽然Swift并见得比诸如C#、Ruby、Python优秀多少,但它还是相较于上世纪 80年代问世的Objective-C有着太多的优势。当下,许多程序员都认为Objective-C句法规则太过怪异,而Swift的设计则更加贴心, 并内置了许多可以帮助开发人员的实用纠错工具。
在Swift语言中,最为出彩的功能或许就Playgrounds了。该功能提供了不可思议的互动效果,能让Swift代码在编写过程中实时进行编译和效果显示。最为重要的是,这一服务能够使开发者的编程变得更具效率,同时帮助Swift和其他编程语言展开差异化竞争。
目 前,诸如Objective-C、C++这类语言通常要求开发者首先编写好代码,等待编撰器将代码转换为可执行的软件程序,然后开发者才能够操作这一可执 行软件。而诸如Python、Ruby和PHP这些语言则允许开发者在编写代码的同时测试自己的软件,但该软件的实际运行速度却会大打折扣。
然而,Swift的出现就彻底解决了上述两者的不足,该语言可以在不牺牲程序运行速度的前提下使开发者更为高效的编写代码。
“Swift是一个对开发者和设备都非常友好的语言,虽然这一语言的实际表现还有待测试,但苹果到目前为止的工作成果看起来相当了不起。”麦克-阿什这样说道。
需 要指出的是,苹果并非是唯一一家试图在编程领域掀起波澜的企业,包括谷歌、Facebook、Mozilla这些公司也都在研发自己的编程语言平台,且其 中部分语言甚至已经比Swift取得了更大的成就。比如,谷歌已经利用Go语言重新定义了自己的内部工作流程,而Facebook则利用旗下开源编程语言 “Hack”重新打造了自己的大量在线服务。
更为重要的是,以上这些企业所推出的编程 语言大多是开源的,这就意味着它们或将可以更容易面向全球开发者进行推广。然而,Swift并不是一个开源编程语言(至少目前还不是)。同时,考虑到苹果 一贯的软硬件高度控制的做法,外界对于该公司政策是否会对Swift的未来推广构成负面影响也持有保留意见。
“目前业内对于苹果是否会限制该语言的前进方向存在着一定的担忧,就比如该公司是否会允许开发者利用其编写跨平台代码等。”阿什解释道。
不 过,阿什相信Swift的开源化将只是时间问题而已,因为克里斯-莱特纳从来都是编程开源理念的支持者,他此前所开发的轻量级编译器Clang就是一个最 好的例子。当然,即便Swift始终处于苹果的严格管控之下,我们也认为该语言的开发者采用率也将超越近年来所推出的任何一个编程语言,因为这就是诸如 iPhone、iPad和Mac这些设备施加在开发者身上的魔力所在。(汤姆)
Swift 的详细介绍:
Swift 的下载地址:
想通过手机客户端(支持 Android、iPhone 和 Windows Phone)访问开源中国:
旧一篇: 2年前
新一篇: 2年前
相关讨论话题
你也许会喜欢
最近在学习这个新语言。还是挺有意思的。
2楼:MarvinGuo
一看基于的runtime,就觉得有可能
3楼:xoHome
我只能呵呵
Xcode那么多bug 你这功能吹的天花乱坠我都懒得信
4楼:chai2010
没有底层框架的支持的话, Swift即使开源/移植也是半个残废.Swift的优势主要是依托于水果系统的强大的底层框架的怪异的Object-C语法.完全从新的语言PK来说, Swift真的算不上有多新鲜的特性.
5楼:noonoo 来自
文不对题,没看太懂
Swift,重新定义了编程语言!再一次,改变世界!
7楼:飞翔e心
Swift普及开来,会不会限制其他语言在iPhone上的支持
不开源的语言,把你的命运交给苹果吧~又想起了flash
9楼:java9 来自
没有水果电脑可以编程吗?
10楼:jQer
就那点混合式编程范式,JS 九几年就完成了, LISP 六几年就完成了。现在做个方言,还成了颠覆世界呢。笑话!
11楼:lazy_code
只能说改变了苹果界
12楼:开源中国交换机机长
打个不恰当的比方。一个成天出去喝花酒泡妞的花花公子才不会在意是否多个姿色一般的姑娘呢。但家里只有一个母老虎的怂货显然对老婆松口,给了一个如花似的丫鬟兴奋不已。这就是反馈差异的原因,无他,因为没有选择而已。
13楼:newzai
颠覆传统编程---笑死个人了。。。无非就是++了点类型自动推断,let,var,难道C++没有吗?c++用个auto搞定let和var;还有多了个闭包,C++没有嘛?再说swift这些语法及其功能大部分是借鉴函数式语言F#、Scala等,怎么颠覆,把其它几门语言的语法东拼西凑一下,就要颠覆别人,搞笑至极。。。颠覆Object-C还差不多。。。
14楼:嫂来哇
确实是一个不错的语言,让人一看就喜欢
15楼:SY泷涯 来自
16楼:xesam 来自
别的地方用不上,怎么颠覆
17楼:Broly
我只想说:呵呵。现在Swift吹的那么厉害,到时候被骂的更厉害
18楼:iamxi
我只有两个字可以说:呵呵
19楼:CheckStyle
引用来自“newzai”的评论颠覆传统编程---笑死个人了。。。无非就是++了点类型自动推断,let,var,难道C++没有吗?c++用个auto搞定let和var;还有多了个闭包,C++没有嘛?再说swift这些语法及其功能大部分是借鉴函数式语言F#、Scala等,怎么颠覆,把其它几门语言的语法东拼西凑一下,就要颠覆别人,搞笑至极。。。颠覆Object-C还差不多。。。其实Swift就是一门现代化的编程语言,正常的,没啥亮点的。只不过是因为Object-C实在太古老了
20楼:leon_lau
颠覆 、横空出师 这两个词最近出现频率老高了,不可否认,swift 不久的将来,确实能拯救一大批苹果开发,可你Y的也不能踩着go上位啊,你们本身定位都不同,没有必要扒光女人比长短吧
与内容无关的评论将被删除,严重者禁用帐号
本周热点资讯
本站最新资讯一堆苹果,大于10个,小于300个,五人分剩4个,六人分剩5个,七人分剩6个用编程做_百度知道

我要回帖

更多关于 苹果电脑编程软件 的文章

 

随机推荐