总访问量
Power:Hexo Theme:Coder

使用headless cms + ssr渲染框架来开发网站

frontend 2019-11-25 11:15:44

前言

由于我是一名前端开发者,偶尔会接一些私单,最主要的无非就是帮人做网站了。

CMS

根据以前的经验无非就是前端写完界面,然后找一个cms去套,但由于国内的cms框架(duxcms我之前一直用,dedecms.phpcms,wordpress)已经很难满足了现在的客户需求了。

比如做个网站,一开始以为做个网站就行,谁知道还要做小程序,App等等,但之前的cms都不带api,即使有写带比如wordpress,api接口也是问题多多的。

然后可以看国内开发的cms,即使的新开发新产品,也是比较保守的,还是跟以前的cms差不多,无非就多提供了api 供用户调用,然后后台操作界面交互也不咋地,所以很难找到一款非常合适的cms框架。

​ 而我感觉国外的就比较思想超前敢冒险尝试,既然api方式通用,那我就专门做提供api和后台内容操作的cms,数据和界面教还给前端,自己爱拿什么数据那什么数据,唉什么布局怎么布局,前后分离。然后cms就专心做好内容管理和api接口的设计就可以了。

虽然这个想法早期还有点冒险,比较像这种前后端分离的spa还有有很多问题的

问题虽然有,但方向应该是对的,就看怎么解决这些问题而已。

为什么写网站也要用spa

​ 而且平时在公司或者自己写前端,写法习惯都已经从jq过渡到了前后端分离框架vuereactangular等写法的习惯了。然后接了一个私单,又要突然转回去以前那种jq操作dom的 时代。

这个过程实在难受,而且效率也低。

有没有办法开发个网站也能使用现代化的开发流程和各种工具,然后解决seo,和首屏加载慢等spa问题的。

于是乎后面出现了各种ssr服务端渲染框架,去帮spa应用解决这些问题。

SSR 服务端渲染框架

使用SSR(也称为“通用”或“同构”)模式,将使用Node.js服务器将基于Vue组件的HTML传递给客户端,而不是纯JavaScript。 — nuxt.js

目前主流有两个:

两个都是开箱即用的,大大降低了开发部署的难度。

主要用那个技术栈就用那个框架吧,react好像还有个 gatsby好像挺好用,但我不主要react技术栈 ,所以就没深入了解了,看了文档和别人介绍感觉挺不错的,react技术栈的同学可以去了解下。

前端的开发框架我们选好了,然后我们就要选个后端的cms 去管理数据,提供api接口调用数据了。

我们先来想一下我们期待的cms是怎样的:

headless cms

翻译一下就是只提供纯api的cms,不包含任何客户端代码,也就是老子只负责api你手机,还是网页想咋用咋用。 — 摘抄自北方蜘蛛

Contentful

你搜headless cms,然后到处都能看得到Contentful

来说说它的强大之处:

可以说contentful是个先进技术集合的cms,各种现代化技术集合一体。

然后操作界面也比较简单简洁,感觉是挺不错的,操作还是流畅的,还提供多角色共同管理。

image-20191114163315536

但作为接私单来开发网站还是有些问题的:

strapi

我试了挺久的一个,功能也简单,界面也简洁。

优势:

个人感觉的缺点:

ghost

我用过算最好的博客系统吧,性能飞跃,后台管理、写作交互,体验都完美,也有很多很漂亮的,后来因为服务器到期了,续费太贵了,于是才把博客迁移到了hexo+github pages 免服务器啊,还可以https,当然速度和原来的没法比啊。而且你githubnodejsheadless cms 第一名就是ghost,第二是``strapi`

个人感觉的优点:

个人感觉的缺点: