swift开发体验,论objective-c与swift的选择

使用swift开发已经有半年之久了,期间做了一个电商应用,类似京东,苏宁的。主要谈谈感受,swift简洁的语法,不用写分号,所有自己写得工具类,第三方类库,都能自动import,着实令人大呼过瘾。

但是开发到后期,把我折磨得最惨的是它的编译、启动速度。我们都知道,objective-c只编译修改过的文件,而且取消了.pch文件之后,更减少了编译工作量。但是swift的编译速度却慢得令人疑惑,有时候修改了一个swift文件,竟然也要编译好一会。我用iMac和MacBook air都试过了,速度慢的不相上下。我猜测是swift编译器还不成熟导致的。

如果用得是模拟器开发那还好,如果是习惯使用真机开发的话,呵呵。它编译启动之间,还有一个Copying Swift standard libraries的工作,这个可是真机调试每次都要做的。所以这10几20秒钟,每次都得等。

还有就是,swift开发出来的应用,安装包都大得多,我猜测可能是安装包里还包含了swift standard libraries?说好的简洁语法,减少代码量,呵呵,安装包还更大了。

开发objective-c的时候,感觉就是拿着一把微型冲锋枪,轻装上阵,coding, Command + R一气呵成。几秒钟基本就编译好并启动了。虽然objective-c语法冗长,但是熟练了之后,写起代码的速度并不慢,编译启动速度就甩了swift几条街啊(这里还是想吐槽一下, xcode6.3一出来的时候,swift的语法提示,都要延迟个3秒以上,3秒后才弹出来的提示,有何意义?直接手敲全部方法名了。Xcode6.3.2出来后,这个问题有改善,但是代码提示还是比不上objective-c的迅速,可能还是新东西不成熟的问题吧)

再来说swift的开发体验,swift就感觉像是扛着一台火箭炮,笨重,不灵活,编译启动就好像是填装炮弹,半天装好一颗,然后,pong...  啾~~~   轰。就是写代码得速度很快,但是Command+R的时候,就卡壳了。说真的, 这几分钟我的思路就这么被阻隔了。

所以,当时swift一出来的时候,我就立马去学习了,并且开始使用它,但是我被坑的很惨,试验品都要承受痛苦的。WWDC说swift2.0来了,我还是继续观望,至少编译启动速度不提升到令人满意的程度之前,我是不会再碰swift了。

你说什么?小项目启动速度很快。我觉得任何一个小项目都有可能变成大项目,等到你发现他变成大项目,并且编译启动速度令人惊愕的时候,再来想用objective-c重写已经来不及了,你已经被绑架,成为实验牺牲品了。

转载于:https://www.cnblogs.com/chanricle/p/4565975.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

积分图像(Integral image)

1 问题起源 给定一幅灰度图像,其灰度值如下图所示, 要计算图中深色区域的所有像素点的灰度值之和。 最直接,简单的方法就是将这9个像素值直接相加。 如果深色区域扩大,里面包含成千上万个像素,这种算法的时间复杂度…

vue3(七)-基础入门之事件总线与动态组件

一、事件总线 事件总线使用场景&#xff1a; 两个兄弟组件之间的传参&#xff0c;或者两个没有关联的组件之间的传参 html &#xff1a;引入 publicmsg 与 acceptmsg 自定义组件 (自定义组件名称必须小写) <body><div id"app"><publicmsg></…

机器学习竞争其实是一场数据上的竞争

来源&#xff1a;网络大数据摘要&#xff1a;人工智能的三大发展要素已经是老生常谈了。算法、算力和数据对机器学习的重要性和声望不亚于“谦哥”的喝酒、烫头和抽烟。那些热衷竞争实施机器学习的公司现在惊讶地发现&#xff0c;其实&#xff0c;实施一些算法使机器变得对某一…

实验五 — — Java网络编程及安全

java的第五个实验——Java网络编程及安全 北京电子科技学院 实 验 报 告 课程&#xff1a;Java程序设计  班级&#xff1a;1352  姓名&#xff1a;林涵锦  学号&#xff1a;20135213 成绩&#xff1a; 指导教师&#xff1a;娄嘉鹏    实验日期&…

Viola-Jones人脸检测详解

在人脸检测中&#xff0c;Viola-Jones算法是一种非常经典的算法&#xff0c;该算法在2001年的CVPR上提出&#xff0c;因其高效快速的检测而被广泛使用。 这个算法用来检测正面的人脸图像&#xff0c;对于侧脸图像的检测不是很稳健。 算法可以被分为以下几个部分&#xff1a; …

中国的高铁世界第一,为何汽车却和德国、日本差距很大?

来源&#xff1a;中国经济大讲堂摘要&#xff1a;靠引进技术发展&#xff0c;可以换来制造技术&#xff0c;建成一定规模、一定水平的体系。但我们在抓住机遇、引进技术发展的同时&#xff0c;或者发展的后期&#xff0c;等我们有了市场&#xff0c;有了钱之后&#xff0c;应该…

Ubuntu 安装和使用 jupyter 出现的问题总结

1、在终端中输入‘sudo pip3 install jupyter’, 出现黄色的‘warring,如下&#xff1a; The directory /home/stone/.cache/pip/http or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner o…

SSH反向连接及Autossh

转自&#xff1a; http://www.cnblogs.com/eshizhan/archive/2012/07/16/2592902.html 0.接触Linux恐怕对SSH再熟悉不过了&#xff0c;还有scp&#xff0c;sftp各种方便的功能&#xff0c;一般的使用都需要ip:port&#xff08;如果不是默认22的话&#xff09;&#xff0c;但有些…

硬核干货|揭示波士顿动力机器人背后的专利技术(上)

来源&#xff1a;超凡知识产权&#xff0c;机器人大讲堂整理发布摘要&#xff1a;如果说在腿足机器人领域里&#xff0c;有一个让人闻之色变的变态企业&#xff0c;那就非波士顿动力莫属了。深耕几十年的技术积累加上“不谙世事”的科研态度&#xff0c;使得BD一直保持在腿足机…

(Python+Tensorflow)编程踩坑集锦

(PythonTensorflow)编程踩坑集锦 1 开发环境安装 推荐视频&#xff1a;https://www.icourse163.org/learn/PKU-1002536002?tid1452937471#/learn/content?typedetail&id1229556595&cid1246770451&replaytrue 1.1 Tensorflow2安装过程&#xff08;Win10平台&am…

浮动在IE6,7下的一些问题

1、首先如果两个元素要并在同一行&#xff0c;使用float最好两个都加浮动 2、IE6下双边距问题&#xff0c;当有块级元素浮动的时候&#xff0c;该元素的横向margin值会被放大为两倍&#xff0c;解决办法&#xff1a;给该元素加display&#xff1a;inline即可。 3、li的一些问题…

复盘亚马逊从优秀到卓越的24年

来源&#xff1a;方证证券4月18日&#xff0c;据报道&#xff0c;亚马逊公司计划在今年7月中旬关闭其在中国的本土电商业务&#xff0c;将业务重点转移至更有盈利空间的海外购和云服务上。对此&#xff0c;亚马逊方面4月18日回应澎湃新闻记者称&#xff0c;“明确的是&#xff…

Python time datetime常用时间处理方法

常用时间转换及处理函数&#xff1a; import datetime # 获取当前时间 d1 datetime.datetime.now() print d1 # 当前时间加上半小时 d2 d1 datetime.timedelta(hours0.5) print d2 # 格式化字符串输出 d3 d2.strftime(%Y-%m-%d %H:%M:%S) print d3 # 将字符串转化为时间类型…

深度!移动机器人(AGV)产业链全分析

来源&#xff1a;广证恒生、乐晴智库精选产业链&#xff1a;下游需要求旺盛带动下游产业链发展 移动机器人(AGV)是工业机器人的一种。它由计算机控制&#xff0c;具有移动、自动导航、多传感器控制、网络交互等功能&#xff0c;在实际生产中最主要的用途是搬运&#xff0c;可以…

404页面自动跳转javascript

5秒后自动跳到系统<a href"login.aspx">登录界面</a>...还剩<span id"time" style"font-weight:bold;color: blue">5</span>秒&#xff01; <script type"text/javascript"> var i 5; …

英国前首相:为什么欧洲没有诞生互联网巨头?

David William Donald Cameron&#xff08;戴维威廉唐纳德卡梅伦&#xff09;见面会现场来源&#xff1a;世界科技创新论坛英国当地时间2019年4月12日&#xff0c;世界科技创新论坛伦敦峰会成功举行&#xff0c;本次峰会特别邀请了出身牛津大学、英国近两百年历史上最年轻的首相…

IIS解决 上传文件大小限制

目的&#xff1a;通过配置文件和IIS来解决服务器对上传文件大小的限制 1&#xff1a;修改配置文件&#xff08;默认为4M 值的大小根据自己情况进行修改&#xff09; <httpRuntime maxRequestLength"2048000" /> 2&#xff1a;修改IIS配置 打开C:\Windows\Syst…

-Block和JSON

【Block】 【认识Block】 block就是代码块&#xff0c;可以理解为没有名字的函数(匿名函数)。 使用形式类似于前面学习的函数指针&#xff0c;只需将‘*’改为‘^’ 【使用说明】 1、使用typedef 2、作为参数传递 3、block的拷贝 4、字符串排序 5、使用局…

脑内世界模型:脑科学基础上的意识问题哲学解说

来源&#xff1a;《华侨大学学报》哲学社会科学版2018年第5期作者&#xff1a;方圆&#xff08;中国科学院大学人文学院博士后研究人员&#xff09;本文旨在以当今时代脑科学研究结论为基础&#xff0c;在哲学层面回答“意识是什么”这一问题&#xff0c;并试图给出一种在科学与…

直击5G的机遇与挑战,全新商业模式、规模化经济效益、最新技术进展…全解读...

来源&#xff1a;TechRepublic、物联网智库编译摘要&#xff1a;报告指出&#xff0c;5G将改善用户体验&#xff0c;带来新的应用以及新的商业模式&#xff0c;产生显著的经济效益&#xff0c;但同时&#xff0c;5G的发展也面临着许多不可避免的挑战。毫无疑问&#xff0c;5G是…