带你读《2022技术人的百宝黑皮书》——19条跨端cpp开发有效经验总结(4)https://developer.aliyun.com/article/1340926?groupCode=taobaotech
关于编译器
跨端开发势必要了解多种平台下的编译器,这里面主要代表是clang、ms(也成vs)、gcc等等,编译器的主要区 别,这里不做主要的介绍了,可以去google下clang的前世今生,以及几种编译器的区别,和对应的使用平台。
clang作为一款飞速发展的编译器,除了编译速度有飞速的提升外,错误提示也非常明确,这里强烈建议跨端开发者,如果有可能优先进行clang作为主要的默认编译器进行开发,良好的错误提示将提高极大的效率,同时clang的代码检查将更为严格和规范,这也利于代码进行跨平台编译。
这里再再插一句,之前在知乎上看过一篇文章对比各种编译器,在比较clang与gcc时,排在第一次位的不是我们通常说的编译速度和错误提示以及更小的编译产物(这些都是普遍知道的),是 license,gcc的GPL的限制让BSD 许可下的以LLVM为代表的飞速发展,如果不是这个限制相信今天以LLVM为代表的的一系列编译器都是属于gcc。
所以“做技术的同学不要以为技术牛就可以打天下,精准的市场地位有时候可以解决很多问题”, 这句话说的还挺好的,与君共勉。
关于转换层
如果做跨模块开发,请坚守一个原则,转换层不要做任何业务代码逻辑以及特殊定向代码逻辑。
转换层也成语言胶水层,是c++到oc, c++到java,以及其他,彼此相互语言转换的代码层。
通常wrapper坚守原则后,维护性会得到大幅度提升,专注于c++代码的即可,对于语言转换层,业界也有不少自动化转译的工具,诸如Djinni。
结束
在通往跨端开发的路上,我渐渐的从一个小白到逐渐羽翼丰满,除了要感谢团队给的机会外,非常感谢这一路上很多同学、特别是跨部们的同学帮助,感谢,比心~
另外团队目前也在搞基于跨桌面端的研发框架支撑相关工作,也会很快出炉,敬请期待。
最后回归主题,跨端cpp开发闭坑指南远不止这些,欢迎一起补充添加。鸣谢。
团队介绍
我们是淘系技术部终端体验平台跨终端团队,业务上负责为千万级商家打造最高效的一站式工作台千牛,为淘宝上亿商家和消费者提供稳定高效的端到端消息IM服务;技术上深耕C++跨终端及PC桌面端技术(Win - dows&Mac),为商家,消费者提供稳定,可靠,高效的客户端产品。欢迎志同道合的小伙伴,毛遂自荐,团队欢 迎你,简历投递邮箱:wdw159603@alibaba-inc.com