故事
大家好,我是河畔一角,平时很少写文章,曾经有过写的习惯,可是时间一久,激情就会消退。今天想花点时间整理一下这两年我个人的创业项目。
我从事前端开发十几年了,最早也是做Java
开发,后来因为工作需要学了前端,最后发现再也回不去了。 当时,我记得我还在大量使用jQuery
、ext
、SpineJs
等框架,每天还在兼容IE 6
浏览器,终于在 14 年发现国内出现了Vuejs
框架,记得当时还没有发布 1.0
版本,我当时在团队就开始鼓动大家学习并运用它,因为它的赋值、绑定实在太简单了,因为以前渲染一个模板都是很费劲的,比如引入EJS
框架。
后来在15年初,我在慕课网出了一门Vue
的课程,一经推出,异常火爆,也让我尝到了甜头。
前沿
时间过得很快,如今 2015 年已经过去一大半了, 不曾想,vue/react
推出都已经十几年了,如今我们都已经变成了大龄程序员,有的转了行,有的做了管理,有的依然拼死在前线。
我相信每个人都有自己的梦想,只不过人生的不同阶段可能梦想不同。儿时的梦想可能带着天真和童心,以期望世界变的更好作为梦想的初衷,比如:教师、医生、科学家、明星等。 可是长大了,发现我们更多是想解决温饱,是要让日子过得更好,是要让老婆孩子过的幸福,所以,我们的梦想更多是要当老板,能挣钱。
- 当你是一名厨师,或许你希望不久的将来,可以自己开一家饭店,当老板。
- 当你是一名货车司机,或许你希望未来可以开一家物流运输公司,当老板。
- 当你是一名程序员,或许你希望未来可以开一家软件公司,自己创业当老板。
时代的车轮滚滚向前,所有的人都被生活推着向前,一刻也不能停止。 回头看才发现读书原来才是最简单而又快乐的事情了。
种子
做了十几年的前端,有时候很快乐,有时候很枯燥,还了车贷,还房贷,大部分人都过着平淡而紧张的日子。
14年,我突然对低代码及其感兴趣,因为在过去我做着数不清的后台系统,发现每个系统除了业务不同,其实大部分思想都如出一辙,比如:
- 随便一个系统,不是Vue,就是React。
- 相似度极高的菜单点击。
- 各式各样的表单管理。
- 形形色色的表格列表。
- ElementUI、Antd等等成熟的UI框架。
- 大同小异的权限控制。
- 用G2或者EChats做着差不多的数据看板。
其实无论是工作几年的前端,他们相差的只是熟练度,另外就是针对问题的解决能力,但是如果只是完成工作,2年的前端已经够用了。
看着市面上各种各样的低代码,都非常好奇想要去学一学,最后发现其实核心思想都一致,说明用户最终的选择,也只是操作体验上,拼的是简单易用和满足。
- 当我们用源码开发久了以后,发现会有人封装脚手架。
- 当我们做着相似的业务模块时,发现会有人封装业务组件。
- 当我们做着相同的UI时,会发现有人封装UI组件。
- 当我们打包困难时,会发现有人做了自动化部署平台。
- 当我们代码看着凌乱时,会发现有人做了代码格式化和一键修复。
- 当你每天重复做着单一的活动页面时,你可能就会做一个活动配置平台。
- 当你经常要做数据看板时,发现有人封装了如此好用的图表工具库。
所有的一切都是如此美妙。人生总会遇到各种各样的问题,但又总会有人去解决各种各样的问题。于是,我们都被这个时代牵着一起进步了。
Marsview 诞生
在 2013 年年底,我也尝试做一款低代码系统,可以用来解决我的日常开发,重点解决后台系统的搭建问题。
期间,我调研了一些,了解了一些思想,我为什么没有直接购买或者使用别人的开源系统呢,主要是有几方面:
- 别人的开源系统,读起来很困难,因为代码量太大,吃不透,出了问题无法解决。
- 使用习惯上略有不同,操作成本略有不同。
- 抱着学习的心态尝试独立自主。
这一埋头苦干就是 1 年,主要把过去的开发习惯,使用流程按心目中的模样去做了实现,在 2014 年 8 月做了开源,开源以后确实迎来一波粉丝的热爱。 其实每个开源的系统都有他的受众人群,就像饮食一样,总有一批人的口味是一样的。
我这儿不过多讲解Marsview的产品功能,我大概描述一下我期望它能做什么:
- 像日常开发一样,能够先创建一个项目, 等同于前端脚手架。
- 像日常开发一样,可以创建一个页面,等同于
vscode
新建文件。 - 既然每个后台都要有菜单,那何不直接内置进去,让用户去在线填写。
- 每个系统可能风格不同,那就让支持用户做在线配置风格。
- 开发页面的时候,需要用到Elment或者AntD框架,那我们就直接基于市面的UI做一套完整的组件,让用户去选择。
- 有时候表单需要联动,那我们就尝试用一些手段,让表单联动起来。
- 表格经常会遇到渲染各种类型的内容,比如:文本、图片、日期等等,那我们就想办法让低代码也支持配置。
- 后台有时候老板希望做一个数据看板,要有图表组件,那我们就把开发经常用到的图表搬进去,支持简单的配置,让图表动起来。
要列举的太多太多了,总之,我找了我自己的开发场景,基于场景去尝试开发低代码平台,开发的时候缺什么,我就往低代码平台加什么,同时考虑到用户的易用性。
创业
原本我做低代码系统是为了给自己使用,在自己使用过后有不错的效果以后,选择了开源,但是开源以后,发现受众用户越来越多,后来我就想着是不是可以升华一下,把他做成一个平台。
你会发现很多事情都是有前因后果的,只要思路对,持续下去,总有不错的效果。
在 14年年底的时候,我把这块低代码平台商业化了,因为除了开源以外,我想尝试着能不能给自己多一份收入,开源以后,也是有些伙伴陆续加入我,跟我一起开发,他们不计回报,不计付出,但也有一些后续退出了,当然这些都属于正常现象,每个人都有自己的想法,每个人都有自己的考虑。
这一年,我白天上着班,晚上熬着夜,每天大概都是凌晨1点到2点的样子,就这样咬着牙持续了一整年。
为了把低代码做好,我卸载王者,戒了烟。 太狠了,生活完全没有了乐趣,不过写文章的此时此刻,我实在不忍心自己变成一个只会写代码的码农,我戒了几个月的烟,今天我重新抽回来了。
收益
在 15 年,我们终于迎来了几个愿意付费的企业客户订单,当时,我们一整套源码 卖了 8000,提供三年升级,作为我们第一批种子客户。 他们基于 Marsview 搭建内部的管理系统,经常也会给我们反馈使用问题,我们每天都会第一时间帮助修复,并不断强化系统的能力,提高使用体验。
其实在 2015 年年初,Marsview 系统还存在不少问题,但是用来搭建一套基础的后台系统,已经足够了,当我们去使用它搭建诸如 CRM 系统、OA系统的时候,发现依然很吃力,因为这些大型系统太复杂了,站在源码开发的角度其实成本也比较高,可能一套CRM系统就得个把月才能做完,而把这样的复杂系统搬到低代码里面,也相当有困难。
比如: 变量定义、参数获取、递归算法、表格多选、及其复杂的表单交互、页面之间跳转、接口联动等等,这些单个点在低代码里面配置都还算简单,但是,全部串起来,就会很困难。
我们就基于现有客户资源,不断打磨,我们停止了一切高级功能的开发,优先着眼于客户需求,解决他们遇到的一切困难。
截止到目前,Marsview 算是一个可以拿出去打一打的低代码平台了,截止到现在我们收获了7家企业客户订单,还算是比较欣慰。
平台注册用户突破5000人,平台创建项目突破1万个,平台创建页面数量突破1万5000张。
今年的突破
原本 Marsview 只定位为纯前端搭建平台,因为我觉得后端业务逻辑太复杂了,所以项目支持了接口配置,也就是把前端大部分工作替代了,后端业务接口依然交给客户自己开发,这样,我不用太操心。
后来,我们迎来了一位新伙伴,倡议我们融入全栈能力,所以,在今年我们上线了全栈搭建,既可以选择纯前端+自己的API,也可以直接选择全栈,我们做了无缝对接。
举一个场景,我们要做一个问卷调查,我们需要先做一个问卷的表单页面,然后开发一个保存接口,建一张表。 此时,基于 Marsview,可以直接在线建表,拖拽表单生成一个页面,调用后端模型完成。为了更加简单,我们引入了AI模型,直接通过模型问答,我们会直接生成表,在编辑器端拖拽模型,会一键生成表单。
这些其实都是渐进式开发,所以,我觉得我们前端小伙伴在开发的过程中,一定要善于思考,善于总结,极大提高自己解决问题的手段和能力,这些远比掌握一个框架的使用重要的多的多。
未来
其实,我也不知道未来会怎么样,更多的只是观望和被迫向前走,原本只是为了做一件小事儿,后来发现这个事儿可以做大,但是,又感觉想象空间和能力不足以支撑它变的更大。或许是因为有时候也找不到其他方向,到底能做什么,很多人都在谈AI,都是接触AI,又感觉无法完全融入AI。
我觉得很多事情都是想着很美好,做起来很困难。建议我们在迷茫中寻找答案,在不清晰中寻找方向,哪怕做的别人不一定看好,或许也是前行道路上的必经之路,有时候浑水趟一下, 发现也是路。
我当然希望Marsview可以真正的做起来,但,我们缺乏的东西太多了,尤其是我个人的认知,这个东西很抽象,又很现实。
说不定哪天回老家种地了,一切都有可能,我不敢给自己设定人生范围,只希望把眼前的事情做好。
最后
我今天不是要打广告,每个周末都写代码,实在太无聊,今天想着写篇文章感叹一下。 大龄程序员实在难做,不知道跟我相似年龄的开发大哥(36),都在做些什么。
最后希望看文章的每一个兄弟未来一片光明,一起努力,让自己变得更好。