知言 容芳志:Objective-C地位下滑是必然

2024-02-11 06:40

本文主要是介绍知言 容芳志:Objective-C地位下滑是必然,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【编者按】自从Swift(Swift知识库:http://lib.csdn.net/base/swift)发布以后,曾风光一时的Objective-C便呈现出自由落体趋势。尽管如此,作为iOS平台上的一员老将,许多著名软件或者项目大多还是基于OC开发。为此,知识库特邀请《十分钟让你明白Objective-C的语法(和Java、C++的对比)》一文作者容芳志老师为大家绘制了Objective-C知识图谱,并且根据各个知识点挑选优质都干货和精品给大家。

Objective-C知识库发布~

下面是容芳志老师的采访内容,分享他眼中的Objective-C语言。

图片描述

容芳志老师

1.请先简单地介绍一下自己

容芳志:自己现在比较专长的是iOS的应用软件开发,也做过2-3年Android开发。
接触移动开发有6-7年了,移动开发经历过Symbian,MTK,Android,iOS等几个系统的开发。

2.能否分享一下你的计算机编程之路,踩(挖)过哪些坑或者特别值得分享的故事。

容芳志:最早接触的是Symbian系统开发,Symbian算是当时先进的智能手机系统了。不过诺基亚在开发者工具,文档和服务这方面做的非常不到位,开发非常艰难,系统也不开发,感觉这也是诺基亚衰败的如此快的一个原因。有了Symbian开发Symbian C++基础后,再学习Java切换到Android开发就比较容易些了,文档和开发环境也有了很大的改善。在做Android开发的同时,也有机会接触到了iOS开发,不过机会也是靠自己争取的。学习新的知识比较好的一个途径就是边学习边写博客总结分享+实践。

3.你最近使用的技术有哪些,它们给您或团队带来了哪些便利?

容芳志:使用动态修复技术,Jenkins持续集成,HTTP数据传输层使用动态秘钥技术,也在项目实践中探索无埋点技术。

动态修复技术解决了App上线后发现bug不能及时修复的烦恼。Jenkins持续集成可以让开发和测试更敏捷的开发和调试各个版本。HTTP数据传输用动态秘钥加密技术,可以保证App数据通讯不被拦截或破解。无埋点技术可以动态埋点。

4.在最新的TIOBE排行榜上,Swift迅速上升,而Objective-C呈现自由落体,你如何看待这一现象。

容芳志:这是一个必然的趋势,Apple也在努力的推广Swift,新的项目如果没有Objective-C代码的负担的话,基本都是直接用Swift。我们自己的项目也会慢慢向Swift转换

5.对比Swift,Objective-C存在哪些不足?是否会被Swift取代?

容芳志:相比Swift ,Objective-C缺少了很多现代语言的灵活性、可读性、安全性也没有Swift好。不过想完全取代Objective-C还有很长一段路。Apple会在很长长一段时间还是会允许两个语言同时存在。

6.如何利用OC底层的一些原理,对应用程序日常进行监控分析?

容芳志:这个自己倒是没实现过。不过试验过听云监控App的性能SDK,他们只用了两代码,就实现了对App的所有方面的监控。应该是使用了大量OC底层的原理。

7.关于移动端App的热修复、插件化,你是如何实践的?

容芳志:目前只用了热修复,做了一个热修复的平台,可以针对每个App版本出现的线上问题进行热修复。当然热修复补丁也是做了加密和校验的,预防其他人恶意篡改。

8.跨平台领域特别火,评价一下React Native和Weex库,它们分别有哪些优缺点?

容芳志: React Native比较从代码或集成商,都比较重。学习成本高,对安卓支持还不是太好。目前大公司大规模运用React Native的不多,可能还是在一些小模块上实验。个人比较喜欢Weex,代码和集成比较轻量,不过现在刚推出不久,工具链&文档&教程还有待进一步完善。

9.微信小程序出来,请谈谈你的看法?

容芳志:刚推出公测时比较轰动,现在又沉默了。微信小程序估计以后能在移动市场占一席之地,从体验和实际使用上,还是没法取代原生态的App。而且大家不会所有应用流量入口都压在微信上,微信也有很大风险,比如微信会封你的微信小程序。

10.从您自身的经验出发,您认为iOS开发者应该如何自我提升?

容芳志:首先是对iOS开发的热爱,对编程有热情才能激发人去找方法学习。
提升自己的方法可以是:边学习边总结、写博客分享、有问题经常去官方文档学习并查到答案,看官方英文文档有困难及时补充自己看文档的英文能力。有能力可以自己做些开源的项目每年的WWDC的视频也都学习下。

11.作为开发者,除了关注当下热门的技术之外,还要考虑职业规划,你觉得iOS开发者如何才能在编程这条道路上走的更远。

容芳志:职业轨迹:初级开发程序员—中级—高级–软件架构师–系统架构师–开发经理–技术总监–首席技术官
上面提到的是很长的一个链条,当然要做到总监职位,不单单只会移动端开发就可以了,还需要对后端开发也有深入的学习和实践。

12.请你简单谈谈CSDN推出的系统化学习平台——知识库,开发者该如何使用它们?

容芳志:知识库的内容非常全面和丰富,开发者不可能全部都学习精通。需要结合自己当前的技术水平情况或项目情况选择学习或浏览。也可以到根据知识库的知识点,到Apple DEV官网查到详细的官方文档来学习。

推荐阅读:

  • Get IT技能知识库 50个领域一键直达
  • 【知识库专访】蒋守壮:Hive性能优化实战分享
  • 【知识库专访】阿里孙佰贵:深度学习十问十答
  • 【知识库专访】亲加CTO郝飞:直播技术架构解密与优化之道
  • 前端开发人员必须了解的七大技能图谱
  • 来吧 主流编程语言图谱+知识库都在这了
  • 主流编程语言图谱+知识库(二)

这里写图片描述

这篇关于知言 容芳志:Objective-C地位下滑是必然的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/699103

相关文章

Xamarin.iOS使用Objective-C静态类库.a(Linking Native Libraries)

Xamarin静态类库的binding实际上是一个C#与Objective-C方法间映射过程,由于第三方SDK对iOS开发至关重要,因此官方文档中也对这块也做了完整的介绍(Binding Objective-C Libraries),但对于一个完全入门级的程序员来说,这块还是有诸多麻烦,并且部分Api类型文档上也未曾提到。下面将以百度地图作为案例,全面解析静态类库binding工程的知识与问题

浅析objective-c中的strong和weak

在才开始学习oc时,搞不懂什么时候用strong,什么时候用weak,经过一段时间的学习,我谈谈我对strong和weak的理解。 首先strong和weak这两个关键字是用来修饰变量,表示这个变量是强(strong)引用和弱(weak)引用 我们在程序中经常会用到“[[class alloc]init]” 这样的代码,我想你对它已经很熟。这是在开辟一块内存,并初始化。那么系统开辟了这块内

【UIDynamic-动力学-UISnapBehavior-甩行为 Objective-C语言】

一、接下来,我们来说这个甩行为啊,碰撞就说这么多, 1.甩行为,就是说,我现在点击屏幕的某一个点,它甩到某一个地方去, 就是要做这么一个功能啊, 首先呢,我新建一个项目,Name:08-甩行为 首先呢,还是一段儿简单的代码,把之前的红色View拿过来, (100,100), 然后呢,这块儿来一个xWeak, 来一个UIView,再来一个redView, 好,

Objective-C如何使用 Web 服务之学习系列五

学习摘要: ● 使用 NSURL 下载文件 ● 通过 XML 与 JSON 使用 Web 服务 ● 解析 XML 与 JSON 数据 ● 通过 NSURLConnection 异步地使用 Web 服务 7.1 下载文件 问题 你想从网上下载文件。 解决方案 使用 NSURL 指定文件的 URL,然后使用 NSData 将文件的内容下载到文件

Objective-C如何使用日期、时间与定时器学习系列之四

本章介绍如何通过 Foundation 框架使用 Objective-C 处理日期与定时器。本章内容: ●  使用 NSDate 创建今天的日期 ●  使用 NSDateComponents 创建自定义日期 ●  比较日期 ●  将字符串转换为日期 ●  格式化日期以在用户界面上显示 ●  加减日期 ●  使用定时器调度重复与非重复的代码 5.1 创建表示今天的日期对象 问题

Objective-C如何使用对象集合之学习系列三

学习摘要: 创建集合; 获取集合中元素的数量; 比较集合; 遍历集合; 操纵集合内容。 3.17 创建集合 问题 应用需要在未排序的集合中存储对象。 解决方案 可以通过两个 Objective-C Foundation 类— NSSet 与 NSMutableSet 来创建集合。如果不需要修改集合,就使用 NSSet;如果在后面要向集合中添加或删除对象,就使用 NSM-ut

Objective-C如何使用对象集合学习系列二

学习摘要: ● 将数组的内容保存到文件系统中 ●  使用 NSDictionary 与 NSMutableDictionary 创建字典 ●  在字典中添加与删除对象 ●  通过不同方式遍历字典 ●  将字典的内容保存到文件系统中  3.7 操纵数组内容 问题 你希望数组内容能够更具动态性,这样用户或你就可以在数组中添加、删除和插入对象了。然而,NSArray 是

Objective-C如何使用对象集合学习系列之一

本章介绍如何通过 Foundation 框架使用 Objective-C 处理数组与字典。本章内容: ●  使用 NSArray 与 NSMutableArray 创建数组 ●  在数组中添加、删除与插入对象 ●  数组的搜索与排序 ●  通过不同方式遍历数组 ●  将数组的内容保存到文件系统中 ●  使用 NSDictionary 与 NSMutableDictionary 创

Objective-c NSFileManager类和NSFileHandle类的使用

NSFileManager* fm = [NSFileManager defaultManager];         //判断一个文件是否存在,返回一个BOOL值         if([fm fileExistsAtPath:@"/tmp/AddressCard.m"])         {             NSLog(@"exist");         }

objective-c 中 NSNumber 和 NSString 中常见方法的使用

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {     @autoreleasepool {                 NSNumber* n1 = [[NSNumber alloc] initWithInt:100];//使用实例方法创建对象,需要手动释放         int