网页和应用程序非常复杂,按钮和图片只是冰山一角。在这种复杂程度下,我们需要人工来处理,但前端程序员和后端程序员的职责是什么呢?
多层次发展
无论您是在开发网站还是 iOS 应用,所有开发环境都使用相同的模型 - 即前端开发和后端开发。
这一界限变得模糊,尤其是随着 Javascript 和无服务器世界的兴起。随着开发工具开始融合,我们开始质疑自己是否是全栈开发人员。
但我们不是全栈程序员
虽然我们都想被称为全栈开发人员,但我们不是。就我个人而言,我发现自己在后端开发方面效率更高,但这不是我的强项。我更喜欢构建用户界面 (UI)。
当然,也有一些人和我相反。他们的强项是构建应用程序后端的 API,他们也可以创建用户页面,但他们可能更喜欢通过原型设计来展示应用程序的设计。
那么前端和后端有什么区别?
即使你是一名全栈开发人员,也不意味着没有职责分支。
前端工程师 vs 后端工程师
它们之间有什么区别?
什么是前端开发?
应用程序的前端通常是指显示用户界面的层,其中包括使用 React 构建的 HTML、CSS 等所有静态网页到用户界面。
传统的前端开发是什么样的?
目前,网页前端的主流编程语言是Javascript,但是不完全可以只依赖一种编程语言,如果需要给网页增加一些交互性,则需要使用PHP、Template Toolkit(Perl)等服务器模板编程语言来渲染网页前端页面。
这种方法广泛应用于用户创建的框架或像 WordPress 这样使用 PHP 的网站,以推动大量开发人员社区使用此工具来开发网站。
其工作方式是这些模板在运行时可以直接从服务器获取数据,当浏览器向服务器请求网页数据时,模板和应用程序的逻辑所需要的数据就会被同时获取。
一些传统的前端工具包括:
但随着时间的推移,随着 JavaScript 的成熟和浏览器变得更加强大,我们将能够创造更多、更快、更具互动性的用户体验。
当今的前端开发是什么样的?
目前,React、Vue 和 Angular 等框架越来越常见于使用 Javascript 为网页和应用程序构建 UI。这些工具提供了开发人员可以重复使用的复杂 UI 组件的功能。
当浏览器缓存一个页面时,该页面会先收到一个起始 HTML 文件,该文件在 script 标签中包含一个 Javascript 文档(和之前一样)。不同的是,Javascript 运行时会自动从浏览器连接到外部 API,并像从起始 HTML 文件获取普通静态网页一样更新页面。
这就像建立一个网页,但步骤更多……
虽然看起来步骤更多,但通常可以提供更快的缓存和渲染,从而提供更好的开发体验。由于减少了初始页面请求期间的数据和缓存优先级排序,因此可以提供更好的用户体验。
一些常用且流行的前端开发工具包括:
但这些 API,无论是付费的还是我们自己开发的,都需要在某个地方开发,这个地方叫做后端。
什么是后端开发?
后端是程序逻辑发生的地方。这可能非常复杂,例如管理电子商务公司的收入或只是简单的用户资料。
传统的后端开发是什么样的?
传统应用程序后端通常使用 PHP 或 Ruby 等服务器编程语言。这种方式需要服务器运行复杂的运动算法,因此使用服务器能够理解的语言。
所以对于服务器的请求,后端会执行所有的程序,包括前端的渲染。通过使用框架或者自定义结构,后端可以接受请求,通过请求执行相应的逻辑,然后提供前端需要显示的信息。
从后端到前端的 500 内部服务器错误
一些传统的后端开发工具包括:
今天的后端开发是什么样的?
目前后端开发和以前没有太大的变化,除了新的编码格式,也就是我们经常看到的后端是通过HTTP请求来向API提供数据,而不是直接通过前端工程师制作的模板来提供数据。
因为基础并没有发生太大的变化,当我们把存储敏感数据的API开放给公众时,就会带来复杂且难以处理的安全风险。
但服务器的运行也发生了变化。以前我们需要在自己的服务器上运行 Python 代码(当然现在我们仍然可以这样做),但现在我们可以使用 AWS Lambda 等工具来简化我们的代码。
但 Serverless 并不意味着不需要服务器,而是将其转化为服务,开发者可以无需担心服务器的维护,只需要专注于运行代码本身即可。一些常用且流行的后端开发工具包括:
模糊地带
使用Node.js的Javascript开发人员可以使用他们喜欢的浏览器语言来执行与服务器语言相同的任务。
继续想象能够在服务器上编写 JS 代码
虽然不是所有人都使用 Javascript 作为服务器语言,但它确实简化了整个程序,只使用一种语言。这重写了前端和后端的游戏规则。
但它也开始进入完整的生态系统,也就是说现在我们可以看到系统API是建立在前端旁边的,这和传统的格式是一样的。
前端与后端
不管前端还是后端,总有一条分界线。所有交互的 UI,不管是运行在服务器上还是浏览器里,都属于前端。而那些让前端的逻辑和数据源实现的,不管是公司提供的服务还是自定义的结构,都是后端。
无论您喜欢构建用户界面还是创建后端逻辑,都有大量资源可以帮助您入门。
学习资源前端和后端以上所有
原文:前端开发人员与后端开发人员——实践中的定义和含义,作者:Colby Fayock