目前独立开发者这个话题聊得貌似比较火,目前我是一名创业者兼独立移动应用开发者,来谈谈我自己技术栈问题。

概览

当前独立开发者的领域应该大部分都集中在APP、小程序、H5开发这些方面,这些门槛比较低,只需要一个好的点子,基本就能很快变现。

这方面的开发,主要分为两个方面:

  • 前端 APP、H5、小程序、后台管理系统
  • 后端 主要提供REST API服务

基本上独立开发者,就是全栈工程师了,包揽了前后端的所有开发,这就需要会多门语言,其实比在公司给别人打工要求会的更多;不过全栈工程师会尽量减少自己要学的东西,最好能一种语言吃遍天下,不过目前而言没有这么完美,但是尽量减少是没有问题的。

技术栈

REST API —— clojure

目前做的所有产品肯定是离不开服务端,需要对外提供api服务,这就需要会一门后端语言,目前我选择的是clojure,一门比较小众的语言。

他的一个优势就是他是lisp方言,不知道lisp的可以去自行搜索一下;虽然他还很年轻,但是他的lisp血液造就了用他来写任何系统都能够很快很优雅地实现;他的第二个优势就是他是基于JVM宿主机的语言,可以跟java进行无缝对接,也就是说java里面可用的库都可以在clojure里面进行调用,一个语言好不好用除了看他自身的语法,还需要看他的生态圈,虽然clojure年轻,但是他背靠java这棵大树,java经过了这么多年的发展已经拥有了一个很成熟的工业级的生态圈了,你需要的东西基本在这里面都可以找到对应的解决方案。

后台管理系统 —— clojurescript/clojure

后台管理系统基本也是绕不开的,一般的都是选择html+css+js配合react来实现,我这里选择的clojurescript,他跟clojure拥有同样的语法,只是最后代码编译成了js,有了它我就可以用lisp来写前端了,配合上clojurescript社区的reagent、re-frame写起来真的是很快很舒服。

此外,我是自己购买了一个后台管理的主题,然后把里面的样式剥离出来,然后配合上ant-design组件,基本就能实现一套很通用的后台管理系统了。

APP

现在APP一般都是分为安卓、IOS两种,做安卓开发需要用到java,做ios开发需要用到OC、swift,我们不可能都去把这些语言学习一遍,虽说语言大同小异,因此最好能有一种跨平台的方案,一门语言打通这两个平台,这样既提高了产品的维护性,也节约了时间,最好这个平台能够利用我现有的语言,不要再去学习一门新的语言。

目前比较流行跨平台方案有两种:

  • react-native
  • flutter

最后我是选择了flutter,现在flutter势头正强

小程序 —— taro

目前小程序比较火,用完即删,删完走人。各大平台都推出了相应的小程序:微信、支付宝、字节跳动、百度都,^_^是不是觉得又有很多东西要学了,这时候有个统一的框架得多好,于是乎有了taro。

引用taro简介上的一段话:

现如今市面上端的形态多种多样,Web、React-Native、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。 使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动小程序、H5、React-Native 等)运行的代码。

目前taro应该是在小程序领域做跨平台比较好的一个了,社区维护地也非常好,赞一个。

更新历史

  • 2020-01-11
    • 初稿