大鸿沟是真实的,我很高兴自从我在Shop Talk中打趣到“前端”和“后端”这两个术语后,它们就开始受到人们的欢迎。展示。我的一些客户实际上已经摆脱了“我们只雇用全栈开发人员”的文化,取而代之的是采用“前端前端”和“后端后端”的标签”,以帮助他们更好地组织团队并完善他们的招聘方式。这让我非常高兴,因为这些标签为构建成功的Web事物需要进行的Web开发类型之间提供了非常需要的区分。
我简化划分的一种简单方法是,由前端开发人员确定按钮的外观,而由后端开发人员确定按钮被按下时发生的情况点击。
我已经写过关于我作为前端开发人员的经验的文章,但是我认为创建一个独立的帖子以阐明前端和后端的角色和职责会有所帮助。和后端开发人员。
定义:前端开发人员是专门开发HTML,CSS和演示性JavaScript代码的Web开发人员。
精心设计语义HTML标记,重点放在可访问性上,以提供对浏览器,辅助技术,搜索引擎和其他可以使用HTML的环境友好的体验。
创建CSS代码来控制Web体验的外观和风格,处理颜色,版式,响应式布局,动画以及UI的任何其他视觉方面。前端设计人员以模块化,灵活性,兼容性和可扩展性为重点,设计了具有弹性的CSS代码。
编写主要处理DOM中对象的JavaScript,例如单击手风琴标题时打开或关闭手风琴面板,或关闭模式窗口。
在浏览器和设备上进行测试,以确保UI在无休止的台式机,移动电话,平板电脑以及所有其他支持Web的设备(甚至是尚未发明的设备)上正常运行并具有良好的外观!)
优化前端代码的性能,以创建轻量级,快速加载,快速且无垃圾的体验。
与设计师合作,以确保将品牌,设计愿景和UX最佳实践正确地转换到浏览器中,提醒您,这是实际人们会实际使用实际产品的地方。
与后端开发人员合作,以确保前端代码与后端代码,服务,API和其他技术体系结构兼容。
将创建以模板语言编写的演示UI组件库打包在一起,以供其他开发人员使用。
为每个演示组件编写和记录一个健壮,直观的组件API,以便使用该组件的开发人员可以轻松地将所需的插件插入其中。
为演示性UI组件库代码编写单元测试,以确保组件的外观和功能正常。
设计组件库的灵活性/可组合性,与开发人员合作以了解每个组件应该如何开放/可组合或严格/锁定。
将演示组件作为产品进行维护,这意味着处理版本控制,部署,管理,发行说明以及所有可操作内容均用于维护软件产品。
从历史上看,“前端”和“后端”之间的区别很明显:前端开发人员编写了HTML,CSS和JavaScript,后端开发人员编写了PHP,Python,ASP.NET或其他一些后端程序,结束语。但是,既然“ JavaScript笨拙了”,那么本来可以用另一种语言编写的大部分代码现在都用JavaScript编写,这模糊了前端和后端之间的界限端开发人员,也包括后端和传统后端开发人员。因此,有必要定义后端开发人员的确切功能。
定义:后端开发人员是指专门开发使Web应用程序正常运行所必需的JavaScript代码的Web开发人员。
编写应用程序业务逻辑来处理诸如CRUD功能之类的事情,并控制应用程序状态,路由,缓存,身份验证等。简而言之,后端开发人员编写了应用程序正常运行所必需的代码。
连接,集成甚至编写数据源,服务和API。这可能包括诸如从CMS检索,操作和显示内容,或在用户提交表单时将数据发布到适当的服务之类的事情。
消耗前端开发人员编写的UI代码,以组成屏幕并连接实际功能数据和服务。
优化JavaScript代码的性能,以创建一个快速响应的应用程序,该应用程序快速获取和获取/发布数据。
与前端开发人员合作,以确保UI组件库包含构建应用程序及其所有状态所必需的所有组件,变体和API挂钩。
与产品团队合作,以确保在生活,呼吸应用中准确显示所有产品状态
与其他后端开发人员和IT部门合作,以确保建立正确的技术基础架构,并确保应用程序能够与非JavaScript后端代码正确集成/通信。
注意:我不是后端开发人员,因此这些项目符号可能并不全面或完全准确。随意提出和纠正!
前端前端和后端后端之间的界线可能很模糊,并且在开发人员之间差异很大。一个开发人员完全有可能能够在前端范围内执行许多任务。但也有必要指出,这种情况并不普遍。
这些角色和责任在不断变化,但是“外观和感觉”与“功能”之间的一般区别仍然是一个不错的划分。
可直接使用的UI组件库可以充当前端开发人员和后端开发人员之间的健康握手,因为它在不同类型的代码之间建立了清晰的隔离。 就是这样! 这是我一直以来热衷的领域,因此,我很想听听您在这些水域中的航行经历。 您是沮丧的“全栈”开发人员吗? 您的组织是否已转向“前端前端/后端后端”拆分? 随时与我们联系。