最近前端团队越发觉得目前API接口有些不好用,所以我也借此重新理一下我们的API接口。
API没有什么完美的设计理念和原则,只有最适合当下的设计。
这个最适合包括:当前使用的技术架构、团队规模、团队成员技术特点、开发时间、人力成本、未来业务与技术的预期等。我先来回顾下我们产品的API变迁过程。
作为从0到1的创业公司,客户、CEO提出的需求是全新没有产品先例可以参考的,故首先要验证产品原型,而最初只有我一个技术人员,因此开发效率是关键。此时,使用后端模板弱化API是速度最快的,讨论出一个页面往往一天就可以把前后端全部开发完成。特别使用django这种既把ORM做得灵活又好用,又把后端模板与表单、ORM的结合做到极致的全能型WEB框架后,一个人就可以维护上百个WEB页面和数据表。
而接下来,业务驱动要求不光有浏览器还得有微信服务号,微信小程序、iOS和android的APP,这样之前的后端模板方式就有大问题了,往往每种前端都需要独立的后端模板,大量的重复代码将会产生,这对长期维护的产品是不可接受的。而团队成员也在扩张中,前后端人员招聘到位后,专业的前端人员比我这种后端出身的所谓“全栈”开发速度快很多。此时,我们第一位前端阿正建议使用前后端分离技术,用大前端框架与后端解耦合,开发频繁交互体验更好的单页式应用。而在我看来,这样也可以更好的满足多种前端并存时的产品,尤其是APP的开发上,我认定我们的APP不需要原生APP那么复杂的功能,而基于小团队定位、快速迭代开发