随着互联网越来越精彩,人工AI的下场,以后还会让很多工作可以软件化,根据过往经验分享一下今后的开发趋势和对程序员未来的建议。
首先是多端开发,一般都是用中间语言(C#.NET、JAVASCRIPT),打包成不同的环境版本,现在也分很多种,常用的有:APP跨端开发,小程序跨端开发,WEB兼容开发(PC/H5)等。
APP跨端开发,我使用过Visual Studio,WEEX(Vue),IONIC APP(Angular),React Native(React),后面三个用的都是JS,而Visual Studio用的是C#。
1、WEEX(Vue):目前官方已经放弃维护,BUG挺多,我用它结合eeui做过安卓APP,那时候有些问题框架解决不了,只能自己通过java实现。如果实现特殊需求,还需要自己造轮子。有兴趣可以参考我的仓库:https://gitee.com/netzhouxiang/lingxiang/tree/master/shop_app
2、IONIC APP(Angular):目前还在维护,用熟了还行,12306就是用这个东西做的,它这个不是原生,只是一个表面的效果,我不建议使用这个,功能复杂的APP并不太适合用它开发,很容易出问题,以前用它开发过一个安卓巡视APP,有兴趣可以参考我的仓库:
https://github.com/netzhouxiang/mobileclient
3、Visual Studio跨平台移动应用开发:这个只适合做原生APP,它直接编译原生的,适用于简单的APP开发,而且框架复杂,一直处于不温不火的状态,我建议是尽量别用,这个我也没代码参考了,有些仓库离职了没权限访问;
4、React Native(React):目前主流开发(Hybrid 模式),大厂基本用它,产品线比较成熟,很少出现解决不了的问题,如果你需要做跨端APP建议使用它开发,其他三种要么不维护,要么不是真原生,要么臃肿,不过相当于VUE来说,写React你可以一开始不适应,其实我觉得还好了
小程序跨端开发,就推荐使用京东的TARO框架:https://taro.jd.com/ ,一套代码可以分布到 QQ、百度、抖音、微信、支付宝等,这个没什么好说的,其他平台我也没用过,我觉得目前这个挺好用,也比较成熟,基本满足主流平台的小程序。
web兼容开发,这个看起来很麻烦,其实很简单,首先写的过程中要考虑自适应,然后使用CSS3根据屏幕尺寸,展先不同的效果。实在不会,可以基于现成的框架bootstrap 去实现,不过使用这些插件,就会有冗余,所以最好是自己实现。
随着时代的发展,现在简单的界面都可以使用技术手段生成了,比如京东推出的deco平台: https://deco-preview.jd.com/?from=taro-docs 可根据设计图,直接生成代码。
以后随着人工AI的发展,我觉得开发就要分情况了,简单的,比如官网这种没什么逻辑的,人工AI就可以搞定了,现在设计师都不需要,复杂的可能还需要人工,而目前市场上的公司,大部分都只是需要一个简单的运营工具和官宣网站而已,所以未来开发趋势不是会用某个框架,而是程序员以后结合人工AI去做框架,做组件,给不懂技术的人用。
再过10年,随便一个人都可以自己做网站做小程序,可能还不用10年,到时候程序员如果没有核心竞争力,凭什么赚钱。所以我对未来的开发建议是:
1、要搞明白基础性东西。(就跟国家现在一样,基础学科不强,做不出你想要的产品)
2、减少对框架的依赖。(工作中需要这个就不说了,平时自己做什么东西的时候,想一想我不用框架,怎么自己实现)
3、提高思维思考能力。(没事就下下棋,打打游戏也可以)
4、尽可能的去研究软件行业不容易被替代的技术。(如:游戏开发,网络安全,人工AI等)
5、明白技术底层原理(比如:网络中怎么传输文字传递信息的,软硬件怎么交互,其实你了解后很简单,计算机不管是什么最后都会变成二进制,也就是俗称【0,1】,由一串010100100101发送出去,另外一台设备接收你发过来的,然后由二进制转成不同进制,然后变成我们看到的文字或者游戏图像等)
总的来说就是要提高技术底层能力,提高核心竞争力,不然以后只会利用框架做个网站,做个APP,总有淘汰的一天。