找回密码
 立即注册

独立开发者都使用了哪些技术栈?

| 2023-3-9 21:51 阅读 53943 评论 5

自力开辟者都利用了哪些技术栈?
  • alibaba8888 2023-3-9 21:56
    独立开发者其实也有很多不同的类型,有的专门只做后端、前端、设计等,也有一个人接全部业务的。咱们先浅浅的分为专业栈和全栈两种。我只聊聊我这些年工作中遇到的,我们是二三线小城市,没有健全的数据统计,但是我认为还是很准确的。我就按照最常见的业务所需的技术栈来分析,比如小程序开发、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方面。比如:PHPJavaJSNodeGoPythonMysqlLinux具体到框架: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,毕竟硬成本确实更低。
  • 浪迹天崖 2023-3-9 21:56
    截止到2023年初,比较好的方案是:前端推荐:react生态的话建议使用 nextjs+nextui+jotai,独立开发者需要考虑SEO和成本,建议编译SSG部署至CDN;如果涉及桌面或移动容器,可以考虑tauri后端:nodejs+bike(后端 ts 工程的启动和编译工具)+trpc,trpc用过之后再也不会想用nestjs数据库和缓存:postgres+redis,各类中间件:kafka+clickhouse工程化推荐:turbopack+turborepo+monorepo+pnpm+eslint+prettier测试推荐:单元测试vitest + 集成测试(不用编写测试代码)http://testflowy.com
  • emulator 2023-3-9 21:54
    不知道你问的“独立开发者”是指哪个领域的独立开发者,我这里姑且当作是游戏的独立开发者吧。对于游戏开发,不同的游戏规模和类型会需要不同的技术栈。我这里给你一个相对完整的游戏技术栈。在GitHub上有一个开源的《游戏开发技术图谱库》项目,里面包含了一个游戏团队(不是个人)所需的大部分技术能力要求。如果是独立开发者,可以根据自己的实际情况,基于这些能力来进行精简。https://github.com/gonglei007/GameDevMind总体包括五个方面的能力:基础能力;技术能力;研发能力;管理能力;运营能力;









    每一项的详细图谱内容可以访问这个项目查看。GitHub - gonglei007/GameDevMind: 最全面的游戏开发技术图谱。帮助游戏开发者们在已知问题上节省时间,省出更多的精力投入到更有创造性的工作中去。 | The most comprehensive technical map of game development. Help game developers save time on known problems and save more energy for more creative work.
  • hongyao 2023-3-9 21:53
    前端vue,后端node。express+socketio。数据库mongodb。以前后端用ror+mysql,现在发现node+mongo灵活得多,不用频繁写migration,大量数据都可以直接当做json扔进数据库。
  • 1888cn 2023-3-9 21:52
    我一直从事AI行业,工作外的开发都是自己一个人开发,因为大家都很忙,无人与我配合。所以学习一些杂七杂八的技术栈。从经历上来看,我应该是符合独立开发者的角色的。那么我从我这些年经验,按照我喜欢选用的技术栈,通过编写的软件类型一一列举来回答这篇回答。
    WEB后端我喜欢openjdk11 + IntelliJ IDEA + Spring全家桶。用IDEA + Spring Boot + Lombok来开发, 真的很快。Spring Data、 Spring Security等生态加上祖传代码可以很快的解决我的开发效率问题。我喜欢用Gradle不喜欢用Maven,这是我的个人爱好。Gradle好看。Java遇到的问题真的很好搜。堆栈很好看,Debug很友好。
    数据库选择方面。如果对事务没有特别要求,我会选择Mongodb,配上Spring Data Mongodb很快。扩展很强,配置后根本我不用关心数据库自身的问题,只需要关注代码本身就好了。如果对事务有要求,我会选择Postgresql, 有时候因为心情的问题,还会偶尔选择选择Mysql。关系型数据库ORM框架我喜欢用Spring JDBC和Spring JPA。如果是缓存方面的数据库,单机情况下我一般使用ehcache,多个进程才会使用redis。如果是持久性KV数据库,我只用RocksDB,确实很好用。如果是图数据库,我会用Neo4j,但是在之前的实践中,最后还是选用了mongodb的Hashed索引通过BFS来实现的图关系。Neo4j真的用不来。大数据场景除了Mongodb外,还会根据需求使用Clickhouse或者ES。
    其他的数据库没有实际经验。
    消息队列选择方面。如果是逻辑不复杂而且对消息丢失有容忍的情况下,我会选择用Kafka,其他情况下用RabbitMQ。
    WEB前端我喜欢用react,我认为配合vscode很舒服,还有点自由。生态我认为嘎嘎好。小项目会用js, 需要维护的项目会选择ts,毕竟担心以后回来看项目的时候,担心自己不知道这个对象里面有什么东西。
    框架选择方面:偏爱Antd、 Material、 umi 等等。偷懒的时候会选择直接用 Antd Pro 写几个页面结束。
    手机APP 我只用过react native + vscode,如果当需求没有搜到相关库的时候,我认为是灾难。我毕竟不会用Android和IOS原生APP的编写,Flutter我也不想学,甚至以后都不想写APP了。
    平时的脚本和小玩意平时的脚本我会用Python3和Shell来解决。比如要处理一些离线数据,或制作一些与项目相关的脚本等等。
    推理AI工程跑别人的Python开源项目和验证方面,一般就用Python3搞一搞,方便又快捷。
    开发推理软件的时候,我喜欢用Nvidia家的东西,好像也很少其他的选择。视频:NVENC NVDEC图片:NVJPEG预处理:Cuda kernel推理:TensorRT后处理:cpu 或者 Cuda kernel
    AI模型训练我不会。。。
    部署部署的时候喜欢用Docker Compose, 复杂的用K8S, 不过K8S用的真的很少。

    以上就是我这些年,在自己的领域和兴趣爱好方向喜欢用的技术栈了。
文章点评
2022-04-26 09:16
APP运营 手机GIF动画制作软件哪个好?6款手机GIF制作APP推荐
  我们经常能看到视频做成的GIF动画表情,以前GIF动画智能通过电脑软件制作,不过如 <详情>
2022-04-26 10:02
APP运营 推荐10个超级棒的英语学习APP
现代社会的人,基本上已经没有办法不接触英语了,英语作为世界最通行的语言,就算在国 <详情>
2022-04-26 10:07
APP运营 App开发、小程序开发该如何选择技术开发公司?
术业有专攻。一个好的开发团队对做好一款App至关重要,好的团队会有专业且标准的需求 <详情>
2022-04-26 10:28
APP运营 如何用手机远程协助长辈?我找出了6个最佳方法!(免ROOT ...
最近我婆婆头一次换了部智能手机,难免这也得教那也得教但毕竟没办法随时亲身面授,我 <详情>
2022-04-26 10:46
APP运营 如何在M1的MacBook中安装手机App?| 竟有点实用!
这篇文章的主题其实非常简单,就是在M1的MacBook上安装手机的App。但一开始我觉得这个 <详情>
2022-04-26 10:51
APP运营 推荐16个非常棒的在线学习APP
现在的人们,每天日常生活中,基本上是已经完全离不开手机了,我也经常玩手机,在手机 <详情>
2022-04-26 11:07
APP运营 手机App确实在偷听你谈话,方法死都想不到
早在去年就有用户发现:只要和朋友聊天时提到某样商品,打开购物软件,立刻就会收到相 <详情>
2022-04-26 12:53
APP运营 市场部、运营部、品牌部,别傻傻分不清楚!
摘要:市场、运营、品牌、公关、新媒体、策划……,如何区分这些似是而非的职能,看这 <详情>
2022-04-26 12:56
APP运营 运营知识应该从何学习?
先学理论,再get技能,最后用学到的这些运营理论+技能做出真实有数据的运营项目,完整 <详情>
2022-04-26 13:18
APP运营 搞用户运营的看过来!蔚来、理想、小鹏、威马APP用户 ...
我是做社区运营工作的。上个星期我在面试社区运营的候选人,我问她在国内你认为运营最 <详情>