计算机是学前端开发好还是后端开发好?

学前端还是学后端,这是个好问题,很多人问。在我看来,它可能是个伪命题。

既然题主问的是前后端,那我默认你问的是网站开发的问题。这是我们很长一段时间里对于网站开发工程师的分工。那么我们来看传统意义上,前后端是如何分工的。

后端工程师负责渲染出基础的网页,数据库中数据的存储和传递。技术上就需要掌握至少一种后端语言(C#, Java, Python, ROR...),以及其对应框架平台的使用。数据库操作的使用和操作。算法或或性能的优化可作为超出一般程序员的加分项。 前端工程师负责页面的美化,以及界面上的简单交互操作。技术则上需要使用 CSS,JS,jQuery 等。以及一定的审美能力可以兼任设计师的工作。

所以可能会存在一条对立,后端工程师觉得前端工程师逻辑能力不行,代码写不好。前端工程师又觉得后端工程师不懂得交互和审美。

可是,现在已经是 2019 年了,如果你还要问我,前端和后端哪个更好一点?或者是前端和后端该学哪个?我只能告诉你,都要学。

随着前端框架的流行,以及相同功能需要在多个平台出现的需求。网站的开发越来越偏向于服务化的走向。简单的说,按照业务需求提供核心 API,不同的平台(手机 App,微信小程序,网页)通过调用 API 来调用数据,而逻辑存在于应用本身而非服务器上。也就是 B/S 可能越来越像 C/S,或者说把原来需要写在服务器上的逻辑代码写到浏览器端。传统需要后端工程师写的逻辑代码,需要在浏览器端完成。

那请你告诉我,一个以前需要在后端写的逻辑,现在改为在前端写。把 C# 改成了 JS,.NET 换成了 Angular,他的职责变了吗?他还是一个后端工程师吗?他是前端工程师吗?至少,这已经不是传统意义上前端应该做的工作。而传统意义上后端的工作,变成了写 API。

那如今,前后端又需要做哪些工作呢?(这里说的前端指在浏览器部分,后端指服务器部分,非传统意义的区分。)

后端需要负责数据库的创建和设计,API 的设计。对,我用了「设计」是因为这里可能更加关心你的 API 的整洁和清晰。验证是否完整,分层是否清晰合理。没有业务逻辑,没有交互,只有正确返回数据和正确返回错误信息两种交互。 前端就需要负责主题逻辑的撰写,界面交互,数据传递(API)。

而当你掌握了一种前端框架的能力以后,你会发现,服务器端的逻辑变得简单清晰了很多,你很有可能就兼任了。跟传统的后端程序员的区别,只是把写代码的位置,变到了浏览器端而已。 而同时,随着样式框架如 Bootstrap 的流行,你同时又发现,原来纯前端的样式方面的工作,你只要稍作学习,也完全可以胜任,反正你都在写前端代码了,样式不如一起写了。 而现在云服务器又那么方便,服务器你也顺便管理了吧。

各种框架的流行,让技术变得越来越没那么复杂,越来越降低不同技术不同语言的差异性。所以,前后端,只有代码跑的位置的区别,或者说没有区别。 而你要做的事情变简单了吗?当然不。光技术上你就需要了解 RESTful,至少一种后端语言及框架,至少一种前端框架,至少一种样式框架,甚至是交互,排版。

你可能感兴趣的:(计算机是学前端开发好还是后端开发好?)