独立开发者都使用了哪些技术栈?
独立开发者其实也有很多不同的类型,有的专门只做后端、前端、设计等,也有一个人接全部业务的。咱们先浅浅的分为专业栈和全栈两种。
我只聊聊我这些年工作中遇到的,我们是二三线小城市,没有健全的数据统计,但是我认为还是很准确的。
我就按照最常见的业务所需的技术栈来分析,比如小程序开发、APP开发、网站开发、客户端开发、服务器后台、物联网长链接等。所以我的分析基本上以Web方面的角度来写,就事论事,并非贬低其他人的意思,如果有,是我的表达能力有问题。
专业栈
专业栈开发者,我见过的技术基本是Go,Python,Java(安卓方向)。
这位Go的开发者,算是兼职做这件事,他的正职工作都不是Go,而是其他技术岗位。当时公司要做一个切图服务,重构了两三次,都不好用,最后找了这个开发者开发。运行起来,实际上也有可能碰到问题,但基本上是很多业务的边界情况没处理好,比如图片损坏等。他也能写点基本PHP的增删改查。估计Go的(服务端和客户端)项目都能做,PHP的后端也能简单做做。但是前端、数据库、服务器运维这一块就只会一些很基础的东西了。JS基本不怎么会,css也就是很简单的效果。毕竟他不是Web方向,主要是做服务端的命令行应用。
这位Python开发者,应该也是副业。有一个客户希望实现一个靠AI才能实现的效果,我们顶多找些现成的接口,客户嫌贵,就自己找了个搞这个的伙计。跟他对接起来,Python的热门技术应该都会,但主要是人工智能这一部分,Web的能力就比较差,而且基本上没有网络开发的经验。也是个技术咖。但是HTTP的表单提交之类的也没处理过,对于服务器的运维,应该也就局限于环境搭建,内外网也搞不懂,一些业务场景也不擅长处理。后来他的服务部署到内网机器,我们做了一个简单的异步队列实现的调库。
Java的,我接触的一般是安卓方向的开发者。Web方向的,我们找过很多次,都是有全职工作,兼职做我们的业务。但是安卓方向的,我们遇到过很多种了,有在家接活的,也有技术大拿(安卓、Web各方面都开花的)开工作室的。我们找技术大拿是为了解决一些串口交互上的一些问题,那个做安卓的没搞明白。
我没讲过前端的独立开发者,像很多UI设计或平面设计,有很多兼职接活或自己接活的,但是还真没见过前端的独立开发者。我认为这也跟工作性质有关,前端在开发和交付期间都需要经常调整,可能公司更愿意雇佣员工。
全栈
我本身主要开发语言是PHP,全栈方向,从我一开始学就打算自己干,就目标做全栈。目前我自己的能力来讲,开头讲的小程序、服务器、物联网都能做。而且我很有自信的说,我能做的很好很专业。只要预算够,能写出很健全的项目,也能为一些小客户实现实际可用的系统。
但我目前也是跟五六个伙计一起开公司。我的开发效率很高,开发经验丰富,积累了很多技术和开发工具,做过很多业务场景,目前除了3D方面的,其他的做过。我们公司也是PHP和JAVA为主。由于很多大项目倾向JAVA,所以我也会一点JAVA。有些大项目需要先做个效果给领导演示,就用PHP这一套方案去做,按我的效率,两三天就能实现比较健全的演示效果。
我们的业务技术栈也主要是Web方面。
比如:
- PHP
- Java
- JS
- Node
- Go
- Python
- Mysql
- Linux
具体到框架:
PHP方面,基本上有ThinkPHP、Fastadmin、ulthon_admin(我自己的后台)、微擎、还有各类系统的二次开发,比如商城、MES、ERP、CMS等等。新兴框架里,我主要用Workerman,公司的几个物联网项目用的也是它,自己写了一个在线聊天产品也用它做服务,最近用它做消费队列做聊天机器人。最近还用Rubix ML做一个简单的数据预测,不过最后放起了,一直有5%的数据误差超过了5%,挺烦的,跟客户沟通后手写了数据规则算法。
JAVA这一块,我们只做Web后端,用目前我们基于若依框架自己维护一个版本。
JS方面,一方面是各种传统的类库,比如JQ、Layui、Bootstrap和其他一些Swiper、Viwer特效类库,另一方面是Node的Vue的各类框架,我自己用过ElementUi、ElementUIPlus、三个版本的AntDesign,还有其他很多Vue组件库等。但主要是Element,这几个AntDesign是我做自己的项目使用的。还有CSS和SASS之类的。还有用uniapp来做小程序开发和APP开发,那种不涉及硬件兼容性的,业务流泪的APP用Uniapp还是很香的。
Go方面,主要是我自己做了一个主机监控的项目,调一些类库,没有掌握主流技术。
Python也主要是人工智能调库,简单的Web技术。
数据库基本就是Mysql,我自己有些项目会用Mariadb,也是Mysql,最近在接触PgSQL。
Linux上,公司基本就是centos配宝塔。我自己很喜欢用Debian。
Web的角度
这篇文章讲了很多Web上的事,我认为Web这个方向是最大的市场,门槛低,让很多小客户也能用两三万做一套系统出来,而且技术范围很广泛,能够做电脑客户端、手机APP、小程序。各类网页也能完成大多数场景。很多政府项目也能接受只兼容谷歌火狐的要求。
Web这一块,既有在家做平台的开发者,也有几个人就开干的外包工作室,也有几十人几百人的外包公司,也有做业务做大的公司。我们目前也在从外包转向运营自己项目。
我的思想可能不够技术纯粹,虽然我很喜欢研究技术,但我还是认为技术是为客户服务的,实际上讲是为市场服务的,从本质上讲,是要为人民服务的。基于这个想法,虽然微信小程序的开发极度烦人,但还是尽量推荐客户做小程序而不是APP,毕竟硬成本确实更低。