我是周春,DRYCMS的开发者,2010年7月我毕业于华东交通大学,本科学的是工业工程专业。php
大学毕业后我去上海看完世博会就留在上海工做了,第一年作ASP,而后就转了PHP。css
我接触的第一个PHP框架是openCart,当时为一汽大众作商城就选的这个框架,我从这个框架学会了MVC的架构模式,基于本身的兴趣爱好,就试着本身去实现一个MVC框架,通过一番努力,最后作出来了,可是只适合小项目使用。前端
后面我依次接触到了ThinkPHP、CodeIgniter、Laravel、Symfony、Yaf、swoole等PHP框架,并且都用相应框架作过完整的项目。vue
ThinkPHP、CodeIgniter都是中规中矩的MVC框架,Laravel、Symfony是高度封装的MVC框架。react
我从Laravel框架开始才接触到PHP的包管理工具composer,Yaf、swoole都是基于C语言写的拓展库框架,而swoole完全改变了个人编程思惟,由于它是常驻内存的,因此像$_GET这样的全局变量就不能直接使用了。编程
我在2011年就想过作一个本身的CMS,想名字也花了一番功夫,有一种编程原则叫DRY(Don't Repeat Yourself),我以为这个名字很好,本身想作的就是让别人不要重复的写同样的代码,因而注册了域名drycms.com。后端
2012年4月30这天,我计划在2012年国庆发布DRYCMS,结果2014年1月1日才发布,为何时间记得这么清楚,由于能够在微博搜索DRYCMS这个词查看我当时发的微博。前端框架
2014年我才接触到像Bootstrap这样的前端界面框架,因此以前的那一版DRYCMS用的都是HTML原生的组件,可是它自动化的思想在当时仍是蛮前卫的,我用它大概接了20个单子,开发挺快的,后面因为工做的缘由中止了开发。swoole
我接触swoole框架是在2016年,同时还接触到了go语言,今后打开了通往架构师的大门。antd
2017年我用swoole给哈工大航天研究的一个项目作了WebSocket长链接通讯服务,他们有上万个设备须要实时链接到主控等待命令,这算是把swoole好好的熟悉了一番。
2018年在趣头条工做时用的是鸟哥的Yaf框架,后面就转go语言开发了。
2019年2月我离开上海到贵阳工做,这边都不加班,早上09:00上班,下午17:30下班,我有了足够多的业余时间,因而从新开始开发DRYCMS。
我直接推翻了以前的代码,彻底重写,历时一年多,终于在2020年5月1日从新发布了DRYCMS 1.0.0,而后通过一个月的迭代在2020年6月14日发了DRYCMS 1.0.1版本。
一路走来,DRYCMS能到今天这个地步,确实不容易,下面是DRYCMS在重写时面临的一些选择问题:
1.没有先后端分离
由于DRYCMS是我一我的开发的,若是作到先后端分离,须要的时间会更多。
2.没有选基于vue或者react的前端框架,而是选择了layui
我我的比较喜欢layui的小清新风格,引入一个css和一个js就能够了,很方便,我本身比较偏重后端,前端的vue、react虽然会,可是还达不到熟练的程度。
3.为何选swoole?
在2019年2月这个时间点,本身已经工做8年多了,若是要推出一个开源做品,确定要拿出一个像样的,因此针对技术好一点的PHP开发者,我选了swoole。
4.为何用PHP开发而不是用go语言来开发?
虽然本身用go语言很熟悉了,可是远没有php工做的年限长,因此积累的优质代码不多,考虑到php能够快速的开发出DRYCMS,等稳定了后面再推出go语言版本也是能够的,因此先用PHP实现。
5.为何要作后台自动化?
后台的东西无外乎增删改查,平时会接一些项目,我不想每天写一样的代码,并且后台处理文件的相关操做会很麻烦,索性封装起来,就文件这一个功能,我作了1个多月。
后面说一下DRYCMS的计划吧:
DRYCMS目前只是推出了PHP版本而已,后面会推出go语言版本的,并且是先后端分离的,前端框架会使用element admin或者antd其中的一种。
DRYCMS不会中止更新,好的想法会先用PHP实现。
DRYCMS计划推出生成其余编程语言代码的功能,由于框架拥有元数据,可玩性很是高。
DRYCMS的go语言版本会是一个多租户的系统,能够直接上云,用户无需本身部署,直接用云就行了,会针对企业用户开发。
最后,若是你不喜欢PHP了,能够尝试下我用go语言搭建的单体框架吧,我后面还会开源基于go语言的微服务框架。