分享 我最近一个网站的技术选择和源码分享

timqian · 2019年06月04日 · 最后由 missheying 回复于 2019年06月20日 · 4322 次阅读

最新原文:https://blog.t9t.io/tech-stack-of-open-source-jobs-2019-06-03/

关键词:serverless + react server side rendering

产品简介

open-source-jobs 是一个收集主要项目为开源,并且提供工作机会的公司的网站。一开始只是一个 github 上的 markdown 项目。因为发表到 reddit 上受到一些关注,并且开源在近些年的蓬勃发展。我觉得这个细分的找工作工具可能有一定价值,于是把这个 markdown 做成了一个网站形式方便使用。主要的两部分功能是用户通过 github 注册我可以拿到邮箱,以及工作 /组织的暂时和筛选。

用到的工具,技术以及我为什么这么选择

Serverless

技术选择里面最重要的可能就是选择了以 serverless 的方式开发。

Serverless 这个名字其实取得不是那么好,容易让人以为开发网站不再需要服务器,其实它真正的意思不是没有 server, 而是 server 由云平台帮你管理了,根据需求自动伸缩服务器资源。

Serverless 目前可能还有各种问题,比如代码包尺寸限制,语言限制等。但它的好处也是显而易见的,你不用管理服务器了!!

做过几个失败的网站的同学应该有所经验。一个纯前端的项目,基本不会死,因为你不用维护它,还有各种免费稳定的托管静态网站的服务,它总能正常工作。

但对于带服务器的网站就不一样了,很多时候网站失败的原因都是因为有一天服务器挂了,你觉得这个东西反正没什么人用,我还要花时间去管理服务器,为这个服务器付钱。挂了就挂了吧。但我们也知道,一些网站 /应用想要成功,时间也是一个关键因素。尤其对于小众网站。刚做出来,分享到各个地方,因为需求比较小众,一开始收到的关注可能不是那么多,很难通过一个很成功发布获得很多用户。主要还是靠有这种需求的人通过搜索引擎找到你这个工具。所以用户量需要时间慢慢增加。网站需要你在用户量比较少的情况下长期维护。如果没有 serverless, 在这漫长而没有太多回报的维护生涯中,你很有可能就放弃了。

Serverless 让写后端变得更像前端了一些,你只负责写为用户提供价值的逻辑,维护服务器这种脏活就不用管了。增加了这种应用的成活时长,使之更有可能成功。

open-source-jobs 在我看来就是属于这一类的应用。比较小众,现在可能没有那么大需求,但需求在慢慢增长。是一个需要慢慢成长的小众产品。

Serverless 开发用到的工具

  • Server: AWS lambda
  • Serverless Database: AWS dynamodb
  • Easy Deployment: apex up
    • 这里的部署包括:子域名自动注册; HTTPS; 以及部署服务端最新代码

前端模块化开发:React

React 可能不用多做介绍了,是现在前端圈子里最火的框架。让你可以模块化开发前端页面。

Server Side Rendering(SSR)

open-source-jobs 是一个内容站,所以对搜索引擎友好是很重要的一点,目前 React 圈这一点做的最好的应该就是 next.js 了

  • Server Side Rendering for SEO: next.js

最后附上项目链接和源码地址

需要 登录 后方可回复, 如果你还没有账号请 注册新账号