李飞,ID: @玛雅牛 ,Git 主页: http://git.oschina.net/myaniu
04年毕业于西安交通大学计算机系,曾就职于台企、外企、私企,担任过程序员、项目经理、研发经理、技术副总。13年下半年开始自主创业。
技术狂热者,02年开始捣鼓Linux系统,迷恋过几年FreeBSD,现在使用MBP,生产环境是Debian,大爱PosgreSQL数据库,用了10 年以上,生产语言有:Java、JavaScript、C,C#,曾开发过驱动程序、ERP系统、电信智能交换系统、APP应用、商城系统、嵌入式系统。 曾自学嵌入式开发,并自主设计开发了一款基于Arduino的无线通讯电子产品。
13年自主创业时,使用SSH也有2年时间,但是很不喜欢这套东西,一个很简单的修改往往要修改很多个文件。这时通过开源中国JFinal进入了我的视 野,JFinal的很多特性和设计吸引了我,JFinal的作者也很勤奋,解决问题速度非常快,于是决定基于JFinal开发公司的产品。目前我们公司的 所有产品均基于JFinal、PostgreSQL和Webix实现。
正如作者所说的那样:JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、 python、php等动态语言的开发效率。曾听到一句话:“软件有两种,一种设计简单,明显没有bug,一种设计复杂,没有明显的bug。 “,JFinal属于前者。JFinal由于代码量少,很容易读懂整个框架的代码,改造也容易;JFinal上手容易,让开发人员在开发时更关注业务,完 成业务逻辑时如行云流水般顺畅,大幅提升开发速度。
我是在实际项目中需要某个功能,而JFinal中没有内置或者现有的不好用时,才会去写个插件的。JFinal的插件体系设计简单,实现一个能用的插件还是 比较容易的,但是能用和好用之间的路还是很长的,所以有些插件对外发布前已经重构了十几个版本,做一个很好用的插件不容易。
JFinal的代码量不大,可以多看看源码,通过阅读源码可以更好地理解作者的设计,并学习其设计思想,从而更容易设计出质量更高、代码更简洁的软件。
03年开始使用PostgreSQL,07年的时候,发现其简体中文翻译是一个台湾人维护的,很多地方很别扭,当时在国外相对清闲一些,就尝试做了简体中文翻译的维护,维护了2年。其他曾给ssdb、httl、beetl和zbus贡献过代码。
最近在使用zbus,我们把zbus当作消息中心使用,各个系统通过zbus来交换消息,各个系统通过消息协议耦合,各个系统可以独立演进升级,大幅提升了 系统可靠性。Facebook开源的React,React Native,Flux, Relay,GraphQL也很值得学习和研究。
从个人角度看:刚开始使用开源软件,使用过程中有欣赏和感谢,有想法和不满,渐渐地参与其中:回答问题、报告bug、提交代码,在参与的过程中认识了很多高手,通过交流和分享提升了功力拓展了视野。
从整体角度看:每个团体或个人专注于解决一个或者几个事情,通过不断改进使之更稳定、简洁和高效,很多这样的个人/团队在一起,形成一个大生态,最终提升软件质量,降低开发成本,所有参与者都受益。
所以我理解的开源精神就是:获取、参与、分享、互惠互利。
我觉得开源中国挺不错,为广大开发者提供了一个交流分享的平台。建议开源中国搞个技术雷达,定期提供当前热点技术和发展趋势报告。
每个人都可以为开源做贡献,并不一定得贡献代码,回答问题,编写文档,提交bug都是在为开源做贡献。