开篇:小程序的 Node.js 全栈之路
17 个月
100 多万款小程序
150 多万名小程序开发者
5000 多家第三方平台
小程序生态下持续飙升的行业数据,令人热血沸腾。原本受制于 HTML5 的用户体验欠佳,用户们不得不消耗上月的时间,去完成一套 Android/iOS 单平台的原生应用。如今借助小程序 JavaScript 的动态语言灵活性与跨平台性,可以数日之内,便完成一款跨平台的接近原生体验的轻应用。 “天下武功,唯快不破。”小程序的产品化开发之迅捷,无疑是更受瞬息万变的商业市场欢迎的。也正是这样的快,使新零售新经济的产业升级产生了动力,愿意在这样的快节奏下去快速迭代产品,迎合市场需求。 面对大量产业升级新需求的涌现,小程序只是高效地解决了产品前端的问题,而用于支撑小程序的后端服务,又如何高效灵活地响应配合呢? 后端老大哥 Java 固然是一个最为稳重的选择,但为了得到「稳」 的效果,我们不得不付出「重」 的代价。那么是否还有其他特性鲜明的后端技术可以一战?虽然 PHP、Go、Python 等技术,在各自的领域里,也都有成熟的商业实践案例。但要想要达到极致的项目敏捷,最大化地降低前后端系统之间的实现与沟通成本,最大化地共享技术资源,基于 JavaScript 语言共性的全栈开发(full stack)是一种不错的选择,于是 Node.js 便应声而出。... https://juejin.im 掘金 — 一个帮助开发者成长的社区
小程序与 Node.js 后端服务
天然的前后端分离
具有独立性特点的小程序客户端,与 iOS/Android 原生客户端应用很相似,比如本身不支持 Cookie,自身无状态化。而在 HTML5 纯 Web 前端应用领域,若不对 SEO 与首屏渲染有太多苛刻需求,业内亦有大量的 Web 前后端分离的项目实践。使用一套后端 API 接口服务,同时支撑起小程序、原生客户端、Web 三个系统的业务数据,显然是一个让人兴奋的高性价比解决方案。... https://juejin.im 掘金 — 一个帮助开发者成长的社区
一致化的 JavaScript 语言
早在小程序出现之前,前端圈便有一个酷炫的 Web 全栈开发的技能标签,前端 Web 页面开发使用 JavaScript,后端 server 使用 Node.js,一套 JavaScript 语言搞定一切。而今,面向小程序的全栈开发,小程序前端基础语法亦基于 JavaScript,那么 Node.js 自然也便成了天然契合的首选。... https://juejin.im 掘金 — 一个帮助开发者成长的社区
微服务的轻与重,快与慢
在前后端分离的大架构背景下,API 接口层的技术选型,无论是使用 Java、Node.js、PHP、Python、Go 等中的哪一种,对于前端而言,技术语言与框架选型都是后置与被隐藏的,最终暴露的都是一致化的 RESTful API 接口与标准化的 JSON 数据流。 不同的 API 服务端语言有不同的开发能效、不同的生态与稳定性,服务本身可以被前端无感地自由替换。而 Node.js 的全栈一致性与开发敏捷性,相信能够在项目的早期、中期,帮助一个小而美的轻盈小程序团队,更快速地完成产品迭代,创造更多的市场响应机会。... https://juejin.im 掘金 — 一个帮助开发者成长的社区
API 接口服务化的设计哲学
所谓万物皆有套路,API 接口服务层的基础服务,在不考虑重量级分布式架构的前提下,离不开下面罗列的核心技术点:
- 调试工具与技巧
- 后端基础打底框架
- 脱离版本库的环境参数配置
- 一致化的 HTTP response 返回
- 入参校验
- API Swagger文档化
- 数据库 ORM
- 基于 JWT 的用户身份验证
- 数据缓存
- 日志系统
- 单元测试
这些核心技术点可以被套路地组合在一起,仿佛一份全家桶的套餐表,作为开发人员,想用什么样的语言、什么样的插件,按需填坑便好。最终发现,与使用的语言并无多大关系,掌握了一种,我们也便得到了一切。
下面,笔者罗列了一些不同后端语言背景之下的技术关键词,以备日后不时之需,本小册的重点还是放在 Node.js 的技术栈与 hapi 应用开发框架。