前端和后端开发⼈员⽐例_前端开发⼈员vs后端开发⼈员–实践
中的定义和含义
前端和后端开发⼈员⽐例
Websites and applications are complex! Buttons and images are just the tip of the iceberg. With this kind of complexity, you need people to manage it, but which parts are the front end developers and back end developers responsible for?
⽹站和应⽤程序很复杂! 按钮和图像只是冰⼭⼀⾓。 有了这种复杂性,您需要⼈来管理它,但是前端开发⼈员和后端开发⼈员负责哪些部分?
多层次的发展 (The many layers of development)
Whether you’re working on a website or a native iOS app, all development environments share a common theme —
there’s a front end to an application and a back end.
⽆论您是在⽹站上⼯作还是在本机iOS应⽤程序上⼯作,所有开发环境都具有⼀个共同的主题-应⽤程序的前端和后端。
This line can get blurry, especially given the rise of javascript and the world. With the tooling somewhat merging together, we might sometimes wonder if we’re a .
这条线可能会变得模糊,特别是考虑到javascript和世界的兴起。 随着⼯具的融合,我们有时可能会怀疑我们是否是⼀名 。
但是我们还不是全部 (But we’re not all full stack)
As much as we might all , we’re not all full stack developers. Personally, I find myself able to be productive in the back end of an application, but it’s not my strength and I much prefer to be heads down building UIs.
尽管我们所有⼈ ,但我们并不是全栈开发⼈员。 就个⼈⽽⾔,我发现⾃⼰能够在应⽤程序的后端⾼效⼯作,但这不是我的强项,我更喜欢低头构建UI。
And some people are the opposite, where they are strongest dealing with building APIs in the back end of an application and while they can build out a UI, it might be more of a prototype-like experience
than a fleshed out application.
与某些⼈相反,他们最擅长在应⽤程序后端构建API,尽管他们可以构建UI,但与充实的应⽤程序相⽐,它更像是⼀种原型体验。
那么前端开发和后端开发有什么区别? (So what is the difference between Front End Development and Back End Development?)
Even if you are a full stack developer, that doesn’t mean there’s not a division of responsibilities.
即使您是全栈开发⼈员,也不意味着没有责任分⼯。
So what do those look like?
那这些长什么样呢?
什么是前端开发? (What is Front End Development?)
The front end of an application typically refers to the layer that represents the UI (user interface). This can include anything from a static site with HTML and CSS to a full app that powers the UI.
应⽤程序的前端通常是指代表UI(⽤户界⾯)的层。 这可以包括从具有HTML和CSS的静态站点到为UI提供⽀持的完整应⽤程序等所有内容。前端开发传统上是什么样的? (What did Front End Development traditionally look like?)
Javascript currently rules the front end web, but that wasn’t always the case. While it could have been used to add little
bits of interaction to a site, typically front ends were rendered using server-side templating languages like framework-driven and ().
⽬前,Java语⾔统治着前端⽹站,但并⾮总是如此。 尽管可以使⽤它来增加与站点的少量交互,但通常使⽤服务器端模板语⾔(如框架驱动的和 ( ))来渲染前端。
This grew to be super popular in practice with home grown frameworks or tools like that used PHP to drive a massive community of developers who built their websites with those tools.
在实践中,这已经变得⾮常流⾏,例如使⽤PHP的本地框架或⼯具(如来驱动庞⼤的开发⼈员社区,这些社区使⽤这些⼯具构建⽹站。
The way it worked was the templating language was able to get its data straight from the server as it w
as rendered. When a browser requested the page directly from the origin (the server itself), whatever data the template would need, the application logic would provide at that time.
它的⼯作⽅式是模板语⾔能够在渲染时直接从服务器获取数据。 当浏览器直接从源(服务器本⾝)请求页⾯时,⽆论模板需要什么数据,应⽤程序逻辑都会在那时提供。
Some of the more traditional front end tools include:
⼀些更传统的前端⼯具包括:
Libraries like or
或库
Website frameworks like
⽹站框架(如
Plain
纯
Abundant use of elements
前端跟后端哪个就业难元素的⼤量使⽤
But as time went on, javascript kept getting more mature as a language and browsers kept getting more powerful, which led to the idea that we could move more of that work to the browser to build faster and more interactive experiences.
但是随着时间的流逝,JavaScript逐渐成为⼀种语⾔,浏览器也变得越来越强⼤,这导致我们可以将更多的⼯作转移到浏览器上,以建⽴更快,更互动的体验。
前端开发现在看起来像什么? (What does Front End Development look like now?)
Now it’s common to see javascript-heavy websites and apps built using UI frameworks like , , and . These tools provide abstractions that allow developers to build complex UIs with reusable patterns like components.
现在,常见的是使⽤UI框架(如 , 和构建⼤量javascript的⽹站和应⽤程序。 这些⼯具提供了抽象,允许开发⼈员使⽤可重⽤的模式(例如组件)构建复杂的UI。
When the browser loads the page, the page receives an initial HTML document that also includes the script tag to the javascript (same as always). But once that javascript loads, it reaches out to APIs using browser requests that when completed, update the page to fill in any kind of dynamic data that you’d typically get along with that first HTML document.
当浏览器加载页⾯时,页⾯会收到⼀个初始HTML⽂档,该⽂档还包括javascript的script标签(与以往⼀样)。 但是,⼀旦加载了JavaScript,它就会使⽤浏览器请求到达API,并在完成后更新页⾯以填充通常与第⼀个HTML⽂档⼀起使⽤的任何类型的动态数据。
While it sounds like more steps, it commonly provides a faster initial page load and render, not to mention it has a great developer experience. By delivering less on that first request and prioritizing what loads after that, it usually ends up as a better user experience.
虽然听起来似乎需要更多步骤,但通常可以提供更快的初始页⾯加载和呈现速度,更不⽤说它具有出⾊的开发⼈员体验。 通过在第⼀个请求上减少交付并确定随后的负载优先级,通常可以带来更好的⽤户体验。
Some of the front end tools that are more common and growing in popularity include:
⼀些更常见且越来越流⾏的前端⼯具包括:
UI frameworks like or
UI框架,例如或
Web frameworks like
像这样的Web框架
Compilers like
像这样的编译器
Bundlers like
Webpack等
CSS tools like
CSS⼯具
But those APIs, whether ones we pay for or create ourselves, need to be built somewhere. That’s where the back end comes in.
但是这些API,⽆论是我们⾃⼰付费还是⾃⼰创建的API,都需要在某个地⽅构建。 那就是后端进来的地⽅。
什么是后端开发? (What is Back End Development?)
The back end layer is usually where the business logic occurs. This can be super complex like the rules that determine revenue for an e-commerce company or something more common like a user profile.
后端层通常是业务逻辑发⽣的地⽅。 这可能⾮常复杂,例如确定电⼦商务公司收⼊的规则,或者更常见的情况(例如⽤户个⼈资料)。
后端开发传统上是什么样的? (What did Back End Development traditionally look like?)
The back ends of applications were historically built using server-side languages like or . The idea is that you have a server that you need to perform complex operations on, so the way to do that is with a language that server would understand.
历史上,应⽤程序的后端是使⽤服务器端语⾔(如或构建的。 这个想法是,您需要在服务器上执⾏复杂的操作,因此该⽅法是使⽤服务器会理解的语⾔。
On each request to the server, the backend would perform the full stack of the operations, including rendering out the front end. By using frameworks or DIY architectures, the back end would accept the request, figure out what it should do with
that request, run any business logic needed with the request, and provide the front end any data that it would need to display a response to that request.
在对服务器的每个请求中,后端将执⾏完整的操作堆栈,包括渲染前端。 通过使⽤框架或DIY架构,后端将接受请求,弄清楚它应如何处理该请求,运⾏该请求所需的任何业务逻辑,并为前端提供显⽰响应所需的任何数据。该请求。
Some of the more traditional back end tools include:
⼀些更传统的后端⼯具包括:
On-premise or remotely managed servers like
本地或远程管理的服务器,例如
HTTP servers using
使⽤ HTTP服务器
Databases like
像这样的
Server side languages like or
服务器端语⾔,例如或
Application frameworks like
等应⽤程序框架
后端开发现在看起来像什么? (What does Back End Development look like now?)
Back end stacks look somewhat similar to the way they did before, aside from newer code patterns, except more often you’ll see the back ends provide data through APIs via HTTP requests instead of directly to the templates the front end team are working on.
除了更新的代码模式外,后端堆栈看起来与以前的⽅式有些相似,不同之处在于,您会经常看到后端通
过HTTP请求通过API提供数据,⽽不是直接提供给前端团队正在处理的模板。
While the foundation isn’t super different, it actually be comes increasingly complex as you have to deal with different security implications that could compromise your system if not properly configured such as leaving an API open to the public that returns sensitive user data.
尽管基础并没有什么不同,但实际上它变得越来越复杂,因为您必须处理不同的安全隐患,如果配置不当,这些隐患可能会损害您的系统,例如向公众开放返回敏感⽤户数据的API。
But also how the server operates can be completely different. While previously, we might run our python on our own managed server (we still can), we can now make use of serverless functions with tools like that simplify how we manage code.
但是服务器的运⾏⽅式也可能完全不同。 之前,我们可能会在⾃⼰的托管服务器上运⾏python(我们仍然可以),现在我们可以使⽤⽆服务器功能以及等⼯具来简化代码管理⽅式。
While “” doesn’t necessarily mean there are literally no servers, it means that as a service, the developer doesn’t have to worry about maintaining that server and can instead just focus on the code they need to run.
尽管“ ”并不⼀定意味着实际上没有服务器,但这意味着作为服务,开发⼈员不必担⼼维护该服务器,⽽可以只专注于他们需要运⾏的代码。
Some of the back end tools that are more common and growing in popularity include:
⼀些更常见且越来越流⾏的后端⼯具包括:
Cloud servers like
像这样的云服务器
Serverless services like
⽆服务器服务,例如
NoSQL databases like
像这样的NoSQL数据库
Languages like or javascript via
通过 或javascript之类的语⾔
Web application frameworks like
Web应⽤程序框架(如
事情变得模糊 (Where things get fuzzy)
Part of the twist with back ends is now you can write your back end with javascript. With the inception of , developers were given the ability to use their favorite browser language to do most of the same things they were used to and familiar with but now on a server.
后端扭曲的⼀部分是您现在可以使⽤javascript编写后端。 ⾃从诞⽣以来,开发⼈员就可以使⽤⾃⼰喜欢的浏览器语⾔来完成他们以前习惯并熟悉的⼤多数事情,但是现在都在服务器上。
While not everyone is fond of running javascript as a server side language, it became a little easier to use the same language to write the full stack of an application. This changed the game a bit as far as front ends and back ends were concerned.
虽然并⾮每个⼈都喜欢将javascript作为服务器端语⾔运⾏,但是使⽤相同的语⾔编写应⽤程序的整个堆栈变得有点容易。 就前端和后端⽽⾔,这彻底改变了游戏。
But it’s also started to come full circle where you now see systems that build APIs right similar to what you might see in a traditional stack.
但是它也开始全⾯发展,您现在可以看到构建API的系统,就像您在传统堆栈中看到的⼀样。
前端与后端 (Front End vs Back End)
Regardless of the stack, there will always be the separation of concerns. The UI and all of the interaction, whether rendered on the server or in the browser, is what makes the front end the front end and the data and business logic, whether coming from the server in your company’s closet or a managed function, is what makes the back end the back end.
⽆论堆栈如何,总会有关注点分离。 UI和所有交互(⽆论是呈现在服务器上还是在浏览器中)都是使前端成为前端的原因,⽽数据和业务逻辑(⽆论是来⾃公司壁橱中的服务器还是托管功能)是什么?使后端成为后端。
Whether you prefer to work on the user facing features or build the logic that lets them do things, there are plenty of resources to get started.
⽆论您是喜欢使⽤⾯向⽤户的功能,还是构建让他们执⾏操作的逻辑,都有很多资源可以⼊门。
学习资源 (Resources to learn)
前端 (Front End)
()
()
(beginnerjavascript - Wes Bos)
(beginnerjavascript-Wes Bos)
(youtube - Programming with Mosh)
(youtube-⽤Mosh编程)
(frontendmasters)
(frontendmasters)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论