一个哥们在邮件组的讨论,有点意思。
By:Roy.LiuLast updated:2017-06-29
这是python, django邮件列表里的一个讨论,分享在这里, 其实任何人在特定的阶段都会有疑惑,分享总是一件好事。
原文:
在 2015、2016 两年前端的狂飙突进之后,工具链已经成熟、本轮框架大战也基本落下帷幕的前后端分离、单页应用的趋势已成定局。我想在这个过程最不适应的大概就是ROR还有Django这样的重型框架了。我也很难想象两年前的自己还一度羡慕 rails4 的单页动态加载(turbolinks)。
而事实上,直至今天虽然我手上的前端技术栈发生了很多变化,后端仍然是 tornado + peewee/sqlalchemy 的老一套,靠着自己写的一个脚手架 fpage 疯狂续命。(https://github.com/fy0/fpage 这个项目已经服役了很久而且至今仍在用,只是现在一般创建完项目直接就把template删除掉),很久没更新因为大致也没什么可改的了。
估计 flask 的情形大致也类似吧。
但是最近写项目的时候总是觉得很不爽,曾经的后端是MVC三层,现在V移除了,剩下MC两层,我慢慢也觉得C层显得多余了。
现在逻辑基本上都在前端写了,那后端留下什么呢?我认为在 Model 层上面加上权限控制、条件查询、数据校验以及分页功能就完全足够了。
我设想极端情况下开发者直接写了 Model 之后就可以自动生成对应的各种 API 而且是拥有一切权限,这样可以快速完成初始原型。后面逐渐再加各种数据校验和限制等等。
一个探索性的想法,不知道现在有没有现成的库做了这方面的工作呢?
如果没有的话,我打算自己做一个demo看看效果,底层 http 库初定 aiohttp (性能更好的同时不再打算兼容python2),不知道有没有更好的选择。
各位看客的回答:
1. 确实如此 甚至连M和C也并不需要了 比如graphql 再比如aws lambda 后端大概要退后到各种redis/postgresql这个层面的开发了,不过还有个十年缓冲期吧
2. mc都不需要了?有人有过powerbuilder/delphi/c++builer么?Embarcadero欢迎你。
3. 这不是上古开发工具吗?我还是 delphi 入门呢,那时候还是borland旗下。但也跟mvc不相干吧,难道近年有什么新姿势?
4.做前后端分离开发,如果后续部署也是分离的,现在Django基于Cookie认证就不能适应新情况了,需要自己实现一套。世界在不断变化~~
说说自己的看法,技术永远不停止,但最基本的还是没变, 至少在现在还很少有颠覆性的东西。只要基本功扎实,什么都不怕了。
原文:
在 2015、2016 两年前端的狂飙突进之后,工具链已经成熟、本轮框架大战也基本落下帷幕的前后端分离、单页应用的趋势已成定局。我想在这个过程最不适应的大概就是ROR还有Django这样的重型框架了。我也很难想象两年前的自己还一度羡慕 rails4 的单页动态加载(turbolinks)。
而事实上,直至今天虽然我手上的前端技术栈发生了很多变化,后端仍然是 tornado + peewee/sqlalchemy 的老一套,靠着自己写的一个脚手架 fpage 疯狂续命。(https://github.com/fy0/fpage 这个项目已经服役了很久而且至今仍在用,只是现在一般创建完项目直接就把template删除掉),很久没更新因为大致也没什么可改的了。
估计 flask 的情形大致也类似吧。
但是最近写项目的时候总是觉得很不爽,曾经的后端是MVC三层,现在V移除了,剩下MC两层,我慢慢也觉得C层显得多余了。
现在逻辑基本上都在前端写了,那后端留下什么呢?我认为在 Model 层上面加上权限控制、条件查询、数据校验以及分页功能就完全足够了。
我设想极端情况下开发者直接写了 Model 之后就可以自动生成对应的各种 API 而且是拥有一切权限,这样可以快速完成初始原型。后面逐渐再加各种数据校验和限制等等。
一个探索性的想法,不知道现在有没有现成的库做了这方面的工作呢?
如果没有的话,我打算自己做一个demo看看效果,底层 http 库初定 aiohttp (性能更好的同时不再打算兼容python2),不知道有没有更好的选择。
各位看客的回答:
1. 确实如此 甚至连M和C也并不需要了 比如graphql 再比如aws lambda 后端大概要退后到各种redis/postgresql这个层面的开发了,不过还有个十年缓冲期吧
2. mc都不需要了?有人有过powerbuilder/delphi/c++builer么?Embarcadero欢迎你。
3. 这不是上古开发工具吗?我还是 delphi 入门呢,那时候还是borland旗下。但也跟mvc不相干吧,难道近年有什么新姿势?
4.做前后端分离开发,如果后续部署也是分离的,现在Django基于Cookie认证就不能适应新情况了,需要自己实现一套。世界在不断变化~~
说说自己的看法,技术永远不停止,但最基本的还是没变, 至少在现在还很少有颠覆性的东西。只要基本功扎实,什么都不怕了。
From:一号门
Previous:Spring-boot采用jetty作为内置服务
COMMENTS