
前端和后端是Web开发中的两个不同的专业。在2000年代,前端开发人员是网站的设计者,其余人员则是后端开发人员。
现在,在中型或大型公司中,涉及的角色更多。但是在小型公司(也称为初创公司)中,通常有两种类型的开发人员:一种用于前端,另一种用于后端。
前端开发人员不是设计师。这是一个误解。设计师是在纸上绘制设计或使用Photoshop之类的应用程序的专业人士。设计师必须以图像格式提供最终设计,还必须提供网站的其余图形元素。
如果网站必须在不同设备之间进行大幅更改(使用响应式设计),则设计人员还负责设计这些不同版本的外观。
前端是与用户界面和交互相关的所有内容。其中包括HTML作为表示信息的语言,CSS作为表示信息的语言的语言以及JavaScript作为交互的语言。
为了简化工作,前端开发人员通常使用某种CSS框架,而Twitter Bootstrap 是最受欢迎的CSS框架 。这表示具有定义样式基础的一系列文件,前端开发人员可以对其进行自定义。
如果应用程序提供了 API,则通常的做法是使用JavaScript框架来实现所有模板,以便后端仅通过API与前端进行通信。这些JavaScript框架提供了将代码模块化的方法,因此维护更加容易。这些框架的示例可以是Angular,React,Vue等。
如果要使用后端框架的模板系统,那么前端开发人员必须适应选择用来编写模板的语言。但是,如果您只想将后端用作API,则必须在前端部分中实现模板。
简而言之,前端开发人员必须实质上了解HTML,CSS和JavaScript,而后者越来越有必要。从这一点来看,有很多工具和框架可用来简化工作,尽管起初您必须经历学习过程。
后端是您无法直接在浏览器中看到的内容。它是处理信息并在后台准备的东西。
如今,没有人从头开始实现后端(除了您已经知道的那些大型互联网公司)。为了简化工作,通常使用框架。对于Ruby,最常见的框架是Ruby on Rails,它提供了 MVC 模式。V是后端可以与前端重叠的位置,就像我们之前在模板中看到的那样。
但是,如果应用程序必须提供一个简单的API,则会有一些有趣的微框架,例如 Sinatra,它使您可以在单个文件中实现路由和控制器。
后端开发人员通常应负责数据库,该数据库可以是关系数据库(例如 PostgreSQL)或面向文档的数据库(例如 MongoDB)。后一种类型也称为NoSQL。当数据库足够大以成为公司的核心时,另一个角色将接管 数据库管理员。
但这不只是向浏览您的网站的用户提供信息。发送电子邮件通知是由排队系统管理的,该排队系统异步运行以提高并发性。有几种解决方法。在Ruby的世界中,流行的系统是 Sidekiq,它使用 Redis 来快速访问其需要处理的内容。
最后,必须将应用程序传输到服务器。除Microsoft Web技术外,其余均使用Linux服务器,因此后端开发人员需要具备设置和优化此操作系统的知识。因此,借助部署工具(如 Capistrano),仅传输更改。
最后,我们来到Full Stack开发人员角色,该角色将后端和前端分组。这种类型的开发人员是开发团队中最常见的。最后,我们所有人都必须以这种方式工作,从而使开发过程更加敏捷。
以我的观点和经验,一个全栈开发人员通常是一个后端开发人员,他对前端有很好的了解,并且深CSS CSS和一些JavaScript框架。
在这种情况下,可能会有几个前端开发人员支持整个堆栈的工作。
当您开始学习Web开发时,您需要明确关注的重点,因为后端和前端都已经很大并且正在取得巨大的进步。
如果您喜欢用户界面并且熟悉使用HTML和CSS,那么前端就是您的专长。但是请记住,JavaScript是必须的,因为您将在各种工具和框架中使用它。请记住,前端开发人员不是设计师。
如果您对使用数据库和处理请求感到更自在,则适合您使用后端。您可能还需要管理操作系统和部署(将更新的代码传输到服务器)。但是最重要的是选择您喜欢的语言。Ruby是一个不错的选择。实际上,Ruby的口号是“程序员最好的朋友”
