为什么很多大公司继续使用 Objective-C,不用 Swift
为什么很多大公司继续使用 Objective-C,不用 Swift
我觉得这个问题最核心的原因就一点:历史包袱。
猿题库算是比较新兴的应用了,代码量级也是 10 万的级别。很多稍微有些年头的应用,代码行数超过百万行其实是挺常见的,上次和去哪儿网的一个朋友聊天,他说去哪儿的 iOS 端有超过百万行代码。这么大体量的代码,公司可能把业务都停下来,让你专门用 Swift 来重写代码么?绝对不可能的。
所以,可以肯定的是:国内 AppStore 上流行的,开发时间超过三年的应用,都有着极大的历史包袱。从公司商业角度,是不能接受整个 iOS 开发团队没有产品功能贡献,只做代码重构的。
上周和来自 uber 的道长聊了聊,即便是在美国 uber,他们也是抽非常小的一部分人力来做 Swift 重写的部分。而 Facebook,完全还是用 Objective-C 。所以你看,这一点上硅谷也一样。
当然,新的应用没有历史包袱,可以用 Swift 来写,比如国内的 Enjoy 就是这样的例子。
除开历史包袱之外,其实还有一些别的原因。我个人认为的第二个最大的原因就是:Swift 及其相关生产力环境并不完全成熟。包括语言,IDE,第三方库,包管理(Swift Package Manager)都还没有非常成熟。这就造成了更多人的观望。
如果还有第三个原因的话,就是我们公司尝试 OC 和 Swift 混编的经历并不轻松。所以,还是打算再等等。
如果你问我,Swift 是不是趋势?答案肯定是 YES。
如果你问我,什么时候用 Swift?我的答案是:再等等。
为什么很多大公司继续使用 Objective-C,不用 Swift的更多相关文章
- C++ 异常机制分析(C++标准库定义了12种异常,很多大公司的C++编码规范也是明确禁止使用异常的,如google、Qt)
阅读目录 C++异常机制概述 throw 关键字 异常对象 catch 关键字 栈展开.RAII 异常机制与构造函数 异常机制与析构函数 noexcept修饰符与noexcept操作符 异常处理的性能 ...
- 职场选择之大公司 VS 小公司
其实这是个非常难回答的问题,很多职场新人都会有类似的顾虑和疑问. 这个问题就好比业界比较容易引起争议的编程语言哪个是最好的一样.大公司还是小公司里面发展,只有身处其中才能体会,如人饮水,冷暖自知. 笔 ...
- 传统IT公司/创业公司/互联网大公司的offer如何选择?[转载+原创]
背景介绍: 第一家工作的公司是一家跨国外企安全公司, 骄傲的称自己不是互联网公司而是传统软件公司, 第二家公司是当下最热的知识分享社区, 创业公司. 第三家公司是挤走谷歌, 曾一度称霸中国的搜索引擎公 ...
- “进大厂大半年,每个月都想走!”大公司 VS 小公司到底该如何选择?
前言 江湖风云不断,有人吐槽阿里996,也有人吐槽华为狼性文化,这不,就看到有腾讯员工吐槽“进腾讯大半年,每个月都想走!” “和我一样,进去一周就想走”.“我都陷入自我怀疑了,以为自己适应不了大公司” ...
- CI Weekly #7 | Instgram/Quora 等大公司如何做持续部署?
终于,你们期待的 flow.ci iOS 项目持续集成 开始公测了.在这几个工作日, flow.ci 做了些许「功能优化」与「问题修复」,性能和体验都在持续优化中.比如: iOS 快速入门文档更新: ...
- 大公司c#&.net转型java的原因有哪些?
历来就听说有编程语言“鄙视链”的说法,而如今月经贴上的那些事儿,还真让我给遇到了. 以下内容来自知乎,纯属扯淡,易引发口水战,看完勿人身攻击. 目的给盲目的公司决策者.开发人员科普下,有个客观清醒的认 ...
- 大公司的PHP面试题
1. 禁用COOKIE 后 SEESION 还能用吗? 2. 抓取远程图片到本地,你会用什么函数? 4. 你觉得在pV10W的时候, 同等配置下,LUNIX 比WIN快多少? 5. 简述pOST 和G ...
- 从大公司做.NET 开发跳槽后来到小公司的做.NET移动端微信开发的个人感慨
从14年11月的实习到正式的工作的工作我在上一家公司工作一年多了.然而到16年5月20跳槽后自己已经好久都没有在写博客了,在加上回学校毕业答辩3天以及拿档案中途耽搁了几天的时间,跳槽后虽然每天都在不停 ...
- C基础 北京大公司面试简单总结
作者有话说 这是关于程序员面试的一篇文章, 希望对你有帮助. 干了快3年了. 可以简单参考, 对比总结.虽然本人很水. 很喜欢当前做的手游项目.做的很认真.后端每个人技术都很好.但是结果都不如意.在死 ...
随机推荐
- rqnoj-208-奥运火炬到厦门-dp
这道题目是把一个连续的串看成一个环. 那么除了原始的求最大字段和外. 还存在一种情况是前面的连续最大值,加上后面的连续最大值. #include<stdio.h> #include< ...
- Linux下Anaconda的安装使用与卸载及问题解决
1. 安装 到官网下载对应的版本文件:Download Anaconda Now! 下载完之后,在终端输入: bash 下载好的文件 整个过程点几下回车就好了.但是到最后一步,会提示是否把anacon ...
- 领扣-209 长度最小的子数组 Minimum Size Subarray Sum MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- PlSQL Oracle 中的 对应 SQL server 中的 IsNull(Expr1,Expr2)
NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值NVL2(Expr1,Expr2,Expr3)如果Expr1为NULL,返回Expr2的值,否则返回 ...
- NotePad++ 显示字符
转: http://shouce.jb51.net/notepad_book/npp_func_show_special_char.html
- DevExpressComponents-14.2.5 破解过程,正在编写,未完
首先,批评一下cnblogs,在win10的环境下,需要加入到兼容视图列表方可正常编辑内容, 声明,本人在14.2.3 的源代码环境下,编译未通过,相关功能报错,索性选择破解,在此,只是学习测试使用, ...
- 使用Bootstrap3和Ladda UI实现的多种按钮“加载中”效果体验
在线演示 在线演示 大家在开发基于web的网站或者web应用中,常常在AJAX调用的过程中需要提示用户并且展示相关的“加载中”效果,类似的UI设计也非常多,比如,当点击一个按钮后,在它的旁边显示一个 ...
- PHPNOW如何添加虚拟主机
1 打开PHPNow控制面板,输入0,点回车 2 新增主机名称(你可以输入127.0.0.2到127.0.0.255),点击回车之后要求输入主机别名,不要写,直接回车,再要求输入网站目录,也不选,再回 ...
- vim 如何编辑 GB2312 编码的文件?
vim 如何编辑 GB2312 编码的文件? 彻底搞清楚字符编码: ASCII, ISO_8859, GB2312,UCS, Unicode, U 结合file和iconv命令转换文件的字符编码类型 ...
- linux下tar.gz、tar、bz2、zip、 xz、rar等解压缩、压缩命令小结
http://www.jb51.net/LINUXjishu/43356.html unrar x aa.rarunrar e aa.rarx参数 是解压到一个文件夹里 e参数是把所有文件解压到当前目 ...