如今,拥有专门技术团队的小型公司和大型公司中,现代全栈开发非常受欢迎。 全栈Web工程师致力于整个Web栈技术的开发, 包括前端,后端和服务器管理 。
许多人认为,全额筹码只会导致“万事通,万事通”。 从特定的角度来看,这可能是正确的,但是技能组的重要性仅在于它可以完成的工作。 许多全栈开发人员之所以能提供价值,是因为他们可以将构思从构思到发布 ,并完全理解流程的每个步骤 。
如果您打算采用完整的堆栈路径 ,那么本文适合您。 我将解释一个全栈开发人员的一般要求,该职位的作用以及该技能对希望直接为客户或自己的项目工作的自由职业者/承包商的有用性。
随着网络技术的变化,现代全栈开发已经走了很长一段路。 应将完整堆栈要求用作考虑以下内容的准则。 一般而言,“堆栈”代表使网站正常运行的各种技术。 这意味着前端代码,后端代码,数据库系统以及服务器的Web服务器平台+ OS。
全栈开发的基本原则是了解构建网站的所有方面。 尽管这可以大大提高您的生存能力和工作质量,但这并不意味着您具有设计或UI / UX工作的知识。
一个完整的堆栈开发人员应该在足够的知识下涉足这三个领域,以独立地启动网站 ,而没有其他任何人的帮助。
关于全栈开发的一个大问题是要深入每个领域 。 全栈工程师真的是任何事物的大师吗? 有人认为这是有可能的,但这可能不是达到全栈目的 。
大多数公司都想聘请在任何地方都有一点知识的全栈工程师。 这些工程师可能只专注于一个领域,但在需要时可以担任任何职务 。
刚开始走这条路的开发人员应该在各个领域四处学习,以“足够”地解决问题 。 这对技术进行了真实的解释,以了解不同的问题如何应用于实际项目。
全栈编码的最大好处是无需其他任何人就能构建自己的应用程序的能力。
如果您学习了开发过程的每个阶段,那么您就可以自己做所有事情。 您无需成为PHP的高手,即可构建自定义的Laravel应用。 而且,您无需成为JavaScript专家就可以创建灵活的下拉导航,尤其是现在我们在网络上有这么多的开放源代码 。
那么您应该深入这些领域中的任何一个? 这完全取决于您,您的答案可能会随着时间而改变。
但是,当刚开始使用时,只需深入到足以将您学到的知识应用到实际项目中即可 。 当您遇到不了解的事物时,可以利用它作为更深入的机会 ,并进一步了解该特定主题 。
对于新开发者来说,选择要学习的技术是一个难题。 毫无疑问, HTML和CSS是绝对必需的 。 JavaScript也是必需的 ,但是您不必认为自己是JS大师。 但是,您不仅应该学习普通JavaScript,还应该有更多的兴趣。
大多数开发人员也都学习jQuery ,但是React , Ember , Angular , Vue或Backbone之类的框架都为构建完整的Web应用程序提供了更简单的过程。
可以跳入更深入的学习型JavaScript效果 (例如动画),但它们是完全可选的。 一个全栈开发人员应该知道足够的知识来完成工作,然后继续前进。
后端语言的选择与技术优势无关,而与舒适度有关。 大多数程序员意识到Python是比PHP更通用的语言 ,但是大多数网站都在PHP服务器上运行。 这使得PHP对更多公司来说是一种有价值的语言 。
选择适合您需求的任何语言,或为您提供最大的前景。 另外请记住, 您不会永远只使用一种后端语言 。 如果您从Ruby开始但切换到Python,则在此过程中不会损失任何东西。
但是,我确实建议您一旦找到自己喜欢的后端语言,就对该语言进行更深入的研究,并选择一个相关的框架 。 PHP具有Laravel ,Ruby具有Rails ,Python具有Django等等。 这些框架将加快您的开发过程,并帮助您正确构建应用程序。
选择数据库引擎取决于项目需求和服务器堆栈。 PHP通常与MySQL一起使用,因此这是最优选的选择。 当今最大的两个Web堆栈是LAMP (Linux-Apache-MySQL-PHP)和MEAN (MongoDB-ExpressJS-AngularJS-Node.js)。
大多数托管公司从一开始就提供LAMP,而无需进行设置。 但是,像Digital Ocean这样的自定义解决方案使您几乎可以在任何时候使用一点弯头润滑脂。 您可以在此列表中找到更多的Web堆栈,也可以在网上搜索周围。
您选择的数据库通常会与您的后端语言联系在一起 。 Python默认提供SQLite支持, RoR开发人员通常可以使用任何工具 。 老实说,任何语言通常都可以与任何数据库一起使用 。
但是,您想选择在大多数Web项目中都足够普遍使用的东西。 SQL是一种通用语言,并且在所有数据库引擎中使用的语法基本相同。 您会发现表设置和管理方面的差异,但是这些差异通常很小。
除了数据库之外,还有一些您可能想了解的技术性服务器端主题。
最好的学习方法之一是在构建项目时修补服务器 。 获取一个基本的VPS帐户,然后尝试设置自己的堆栈。 这些VPS是完整的虚拟服务器环境,您可以在其中完全控制配置(或销毁)所有内容。 另外,上面的列表并不是所有全栈开发人员都必需的路线图。
您真正需要的唯一知识就是创建空白服务器环境并安装运行网站所需的软件 。 从那里开始,其他任何事情都只是知识的提高。 如果您有任何疑问或想向专业人士学习,请访问Reddit的/ r / SysAdmin社区。
如果您真的想学习全栈开发,请列出要学习的所有技术 。 从那里,您可以一对一地解决他们的问题,从而制定自己的练习项目以测试您所学的内容。
Web开发是一个日新月异的行业,因此您应该始终愿意学习更多。 测试各种堆栈和语言,直到找到所需的内容。 但始终愿意更深入,更好地发展!
全栈开发值得付出努力吗? 那是你决定的。 但是这里有一些相关的帖子可能会帮助您弄清楚这一点。
翻译自: https://www.hongkiat.com/blog/fullstack-web-development/