事物总是多面性的,开发也不例外。现在开发流行前后端分离,分离的好处当然很多:
1)后端专注业务及逻辑,前端专注于展示和交互,前后端分离的好处就是专业分工和前端展示可以多样化。耦合度的降低增加了灵活性;
2)前后端分离还是比较适合目前的应用方式(SaaS化)的。
但前后端分离也有很多不利的地方:
1)增加灵活性的同时也增加了复杂性;
2)对业务的理解不利,前后端分离增加了系统开发的难度和工作量,增加了出错的几率;
3)对系统架构和设计人员要求更高,特别是增加应对需求变化设计的时候。
对于前后端分离,如果要提高开发的效率和系统的鲁棒性,对于业务设计,系统架构和设计人员的要求非常高,当然,对于普通开发者来说,其实是降低了要求。这种开发模式下,如果采用敏捷性开发,那么对于开发人员的要求就非常高了,否则开发的效率和质量都很难保证。