美文网首页我爱编程技术干货程序员
2018年全栈开发个人博客技术选型

2018年全栈开发个人博客技术选型

作者: cool_cl | 来源:发表于2018-02-26 01:00 被阅读0次

    原文地址:Lewis19990@Amoy

    写在前面

    2016年底我上线了自己的博客1.0,当时采用的是Vue.js + express.js前后端分离、无数据库的spa方案。

    2018年初我着手重构并上线了博客2.0,在此整理并分享一下我全栈开发个人博客的技术选型。

    按照惯例先放上链接:

    弃用方案

    • Wordpress
    • Hexo

    以上两个都是快速搭建博客的常用方案,为什么弃用呢?

    1. Wordpress虽然没具体用过,但缺点大概就是臃肿、模板不好看之类。
    2. Hexo可参考我的另一篇文章:《使用Hexo-GitHub-Pages快速构建个人博客指南》

    为什么重构

    1. spa方案SEO是硬伤啊,尤其是博客这种对SEO强依赖的产品。
    2. 一年多来感觉自己有那么一点点长进,可以尝试运用更多技能来完善博客开发。

    最新开发个人博客技术选型

    客户端

    所有前后端分离SPA项目最致命的共同的2个痛点:

    • SEO
    • 首屏渲染

    尤其是博客这种C端产品更是如此,搜索引擎搜索不到博文、渲染速度慢导致用户流失是非常致命的。

    而近期兴起的SSR(服务端渲染)正好可以较好地解决这两个问题,由此引出我们的第一个技术栈 —— nuxt.js。

    Why Nuxt.js ?

    1. 从头搭建一个服务端渲染的应用是相当复杂的,但Nuxt.js让这一切变得简单。
    2. Nuxt.js是一个Vue.js 通用应用框架,对于熟悉Vue.js的开发者来说学习成本很低。

    管理端

    一个用来管理博客内容的后台系统必不可少,推荐技术栈二选一:

    1. Vue.js + elementUI
    2. React.js + antDesign

    后台接口

    对于前端开发工程师来说,node.js肯定是首选,2.0选用的是两大node.js框架的另一个koa。

    koa的生态虽然还比不上express,但最重要的是 No Callback! No Callback! No Callback!

    数据库

    DB的选择无非也就两种:

    • 非关系型数据库: mongoDB
    • 关系型数据库: mysql

    虽然非关系型数据库更符合前端的编程习惯(个人认为),但mysql应用更广泛,而且目前公司运用的DB也是mysql,sql更是程序员的一门必修课,因此选择mysql。

    mysql的可视化工具推荐sequel pro,比mysqlWorkBench友好多了。

    服务器

    AWS号称免费,但是每个月还是收了我十几刀,果断弃坑,改用阿里最低配ECS,一年三百多。毕竟最低配,因此运维起来还是有些坑需要注意,后面另说。

    版本控制

    Git,这个也没啥好说的,关于git工作流可参考我的另一篇文章《gitflow》

    自动化部署

    jenkins,配置好脚本后,一键部署时会自动从GitHub上拉取代码、打包、部署。非常方便,但是最低配的ECS跑jenkins有点压力。

    其他

    剩下的还有nginx用来进行端口转发、pm2用来部署node服务等。有想到其他的话再补充,或者各位看官有什么问题也欢迎联系我,共同进步。

    相关文章

      网友评论

        本文标题:2018年全栈开发个人博客技术选型

        本文链接:https://www.haomeiwen.com/subject/snidxftx.html