万能的JavaScript
有一条 Atwood 定律:any application that can be written in JavaScript, will eventually be written in JavaScript
任何可以用 JavaScript 来写的应用,最终都将用 JavaScript 来写
实时上现在也是这样的,js几乎可以用来做任何事情,小程序、web网站、物联网、app、后台开发、桌面应用程序甚至人工智能(TensorFlow.js)
开发后台
我们都知道,很多应用程序其实都是需要有 后台提供接口、后台管理系统来支持 。所以作为一个前端工程师如果想要做一个完整的应用,成为“全栈工程师”,那么掌握后台开发的能力是 比不可少的,无论你是想接单还是想提高薪资水平。那么如何用js开发后台呢,很重要的一个框架就是“node.js”,它可以让js运行在服务端,并借助Google v8引擎带来性能上的飞跃,使其性能几乎快接近于go语言。异步的编程方式让它能够承载巨大的并发。但是它现在也有如下的缺点:
没有类似java的Spring框架这样有高度统一的开发方式; 生态还不够完善 作为一个前端开发者想要开发后台,你可能先是被自己为难住。但是其实针对中小型系统来说,开发一个后台,最重要的就是熟悉“SQL”,只要掌握了这个你就算是入门 了后台开发了。因为其他的一切都有框架帮你准备好了。
框架的选择
目前用于后端开发的node框架有:
- egg
- express
- koa
- nest
- 。。。
那么我们该如何选择呢,有一个很好的方式就是看github的start,那么我们对比了下koa的start是最多的。 但是笔者这边推荐大家使用egg,理由如下:
- 阿里金服开发的,维护升级迭代有保障;
- 底层基于koa;
- 部署服务时可以很方便地使用多核心,压榨服务器性能;
- 丰富的插件供你选择,你也可以自定义自己的插件;
- 对于中小型系统来说不建议用nest这种类似springboot的框架,那还不如直接用springboot更加完全、健全、稳定;
后台开发都有哪些功能是必要的
- 后台管理系统,包括登录、注册、修改密码、用户、角色、权限、监控等,这些都是必要的
- 对于开发api来说,简单快速地实现对于数据库的增删改查;
- 性能的提升需要缓存;
- 基本的安全问题过滤;
- 。。。
重复造一个轮子 ?
刚才说了上述后台必要的功能,感觉都有点通用,难道我自己要再写一个吗,感觉好浪费时间,要搞好久的样子!就没有一个别人已经写好的框架吗,还带界面的,还比较好看的?
当然有,笔者这边推荐大家使用cool-admin,一个完整的、带权限的后台开发管理系统。自己基于egg封装了通用的增删改查,开发6个api接口基本不用写多少代码,还自带缓存和安全过滤等。