如果你们leader,还不让你用Swift,不让你使用xib、storybard,你可以把这篇文章给他看下。本文分析了百度网盘、钉钉、抖音、京东、快手、b612、喜马拉雅……等众多app,从是否拥抱新技术如swift、flutter以及用到的开源库等维度进行分析,希望能对各位大佬工作或是面试有所帮助。
用到的开源库(熟悉的味道)
想去百度网盘的兄dei,可以看看Swift、xib、Storyboard、flutter方面的知识。没想到百度网盘对新技术还是很跟进的,有点意外。
被前浪后浪刷屏,我们来看看B站的app。
用到的开源库:
额。。。这么多,开眼界,B站拥抱了swift、xib,没有拥抱flutter、storyboard。此外这些库,感觉都是oc的,框架都是经典框架。
统治阶级控制韭菜们的大杀器
用到的开源库:
钉钉能看出来的不多
看下 icon的命名方式如下:
下划线命名,也比较混乱,有的是功能开头,也有btn、dt、oa这样的存在。
钉钉还是纯Objective-C了,很多库都是自己的,我只看到了MWPhotoBrowser,在深度挖掘下,应该可以看到更多,你需要准备一步越狱机,以及以下软件。
这些我不够专业,以免误导大家,所以暂不在本文讨论范围内。大佬们可以尝试,记得在本文下方丢链接。
包名是:Aweme
里边非常多的bundle,纯OC工程,能分析出来的较少,期待其他大神分享。
抖音中没有swift,我们看看另一团队剪映的情况。包名:videoFusion
我看到少部分bundle是和抖音通用的,绝大都是自己的东西。字节跳动内部看起来不欢迎xib、storyboard。flutter也没有影子,据说懂车帝有。。。
我发现了这个,贴出来。
# configuration.plist 文件中key命名规范
### 一、按“小驼峰”规则命名
### 二、最前面拼接归属模块(具体业务模块名或common)
### 三、整个key中只能有一个下划线
#### 1、业务模块
规则:业务_标识
实例:
JDAppManagerModule_appDownloadUrl
#### 2、公共模块
规则:common_标识
实例:
common_debugModel
common_channelType
京东,拥抱了swift、xib、storyboard,点赞。
看看官方的app怎么样 少量xib,无swift,微博,阿里sdk,没什么可说的
每晚都听,看看这货。
纯OC的代码,比较原始,没有拥抱新技术。
还有很多,就不一一列举了。b612很好,把很多疑难杂症bug都放到文档里了,我觉得这些都是宝贵财富,应该保密才对。不过能有这样开放的心态,点赞。本文仅仅是技术分析,如果不妥,请联系,我会及时删除。
太多了,用快手结尾。
快手应该也是还没有拥抱swift,但拥抱了flutter。
太多了,就不一一分析了,这些也够用了,以后慢慢补充吧。
本文只是提供了一个途径,帮助你更好的了解竞品。是我在生病时,无聊搞的,肯定不完善,分析的不够透彻,希望能有帮助,也希望有心的面试者能够看到这篇文章,你去他家面试时,很有可能面试题就藏在这里,比如我就去过B612,当时就问了MSWeakTimer相关的东西,祝各位好运。
如果你做的事一款相机类软件,你就去找竞品,然后分析,一定能帮助你走过很多弯路,技术永无止境,作为一名程序猿,我们需要规划自己的未来,这可能是更重要的。
本文来自小专栏《App从头到尾》
专栏将介绍《今日计划》APP最初的产品构思、设计、网站、服务器、iOS客户端、运营的整个过程,专栏主要内容包含,目前仅需1.99元。
一、Swift 开发语言
二、Sketch UI设计软件
三、Vapor swift服务端框架
四、Hexo 早期的个人网站,后期使用阿里云
五、阿里云 Ubuntu16.04
六、ASO
往期推荐: