zoukankan      html  css  js  c++  java
  • 跨平台技术

    作者:码思客
    链接:https://zhuanlan.zhihu.com/p/37560309
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    开源软件是当今软件业的一股清流,在github上有着大量的开源软件可以供我们学习甚至直接拿来用,不仅仅是作者把他的作品分享出来,还有大量的开发者也对开源项目贡献代码,形成了一个良好的开源环境。开源的最大好处就是拿来就用,用着不爽还能改,有着极大的自由度,比如我们上期说的centos系统就是开源系统。而与之相反的则是闭源的软件,只能使用开发者提供的功能,无法进行改造。我们在开发软件的过程中会用到很多的开源软件,因为他们已经做的非常好,直接就满足了我们的需求,比如大家天天用的支付宝,就使用了大量的开源软件。

    github开源项目

    我们可以看到,这个开源项目吸引了大量的用户关注,有954位程序员为项目贡献了代码,这是一种我为人人,人人为我的精神境界。所以当我们学习成长后,也可以做一位开源贡献者,不但提高了自己的技术能力,更可以开阔自己的视野。

    apple系统的生态圈

    我们刚才说了开源与闭源,有些同学就会产生这样的想法,开源这么好,为什么要闭源呢?这就涉及到一个公司的生态建设了,比如苹果就是闭源的系统,他掌握了所有在苹果系统上开发软件的生杀大权,而且获取苹果app的渠道有且只有一个,那就是苹果自己的商店。这样做的好处是苹果公司可以对所有的app进行最直接有效的管理,我们知道发布一款app的时候会有一系列的检测与测试,这样就不会出现哪个app里面有病毒或者木马的情况,最大程度的保护了用户的安全。

    如果你选择进入苹果的app开发,那么恭喜你,首先你要准备一个MAC电脑,因为你必须使用MAC OS系统进行开发,然后你会发现苹果为你提供好了一系列的开发工具,检测工具,调试工具,然后将你的app上传到app store以供用户下载。这样就形成了一整套完整的生态链,一切尽在apple的掌握之中。

    安卓系统的生态圈

    与苹果的闭源不同,谷歌的android系统选择的开源路线。所以如果你是安卓手机,你的系统不一定是原生系统,而是手机厂商自己二次开发过的系统。比如小米,华为,三星,锤子,都有针对性的对安卓系统进行了二次开发,因为只有这样,他们才能将用户锁在自己的生态圈内,用自己提供的app商店。但是由于安卓的开源,会造成很多问题,比如如果你是安卓的开发,你会发现你的app不仅仅要上架到一个应用商店,而是有很多的商店你要一个个去上架。再就是由于安卓的开放性,会有很多的恶意软件在流通,一不小心就中招,这也是开源的一个弊端。

    微信生态系统

    苹果有IOS,谷歌有android,微信??? 一个产品,如果要做app,需要至少一个IOS开发人员,一个android开发人员,这对大公司来说问题不大,甚至专门配置各个平台的团队。但是对于小公司来说,成本有点高,因为他们普遍只配备了前端开发人员,所以为了降低成本,过去几年都在研究跨平台技术,比如H5。但是,微信小程序的出现,貌似有望解决这个问题,微信最不担心的就是流量,而小程序可以完全的嵌入到微信的生态系统中,他有自己独立的开发工具及上架流程,并且任何可以运行微信的系统,都可以使用小程序,这对苹果和安卓的系统带来了极大的挑战。


    微信小程序

    本次为大家介绍了各种移动系统,我们下一章会为大家介绍,我们在编码过程中,如何有针对性的针对不同的系统来开发软件。

  • 相关阅读:
    5_4 编码重新总结
    5_9 ___2 mc函数
    5_9 代码分析 load_pic_pointers
    5_2 实现过程中
    5_4 calvc
    428 对于 mb_cmp_init函数中一些宏定义的展开 x264_encoder_open中
    Oracle数值处理函数
    JAVA常用注解
    Java随笔
    centos 7 上Hive2.1.1的安装与基本操作
  • 原文地址:https://www.cnblogs.com/kakaisgood/p/9294679.html
Copyright © 2011-2022 走看看