当前位置:首页 » 网页前端 » 2020年前端ue框架
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

2020年前端ue框架

发布时间: 2022-10-05 06:04:02

1. 2020年Web前端工程师的学习建议

今天小编要跟大家分享的文章是关于2020年web前端工程师的学习建议。毫无疑问,前端开发将成为2020年技术领域最热门的学科之一。


以前,前端空间的开发人员只要了解一些HTML,CSS,也许还有jQuery来创建交互式网站,就足够了。但是今天,他们面临着广泛且不断变化的开发技能生态系统;掌握的工具,库和框架;并且需要不断投资于个人教育。

最近几年,我们使用JavaScript为主要的Web应用程序提供了强大的新库和框架,例如ReactJS,VueJS和Svelte。想要学习web前端知识的小伙伴们来和小编一起看一看吧!


1.框架


2020年,我们可能会看到Facebook的ReactJS与社区驱动的VueJS之间的对决。目前,React在GitHub上拥有140,000星,而Vue则拥有153,000星。例如,Angular只有53,000个恒星。


在2019年,React(蓝线),Vue(红线),Angular(黄线)和Svelte(绿线)的搜索量支持此假设-Vue略高于React。Angular在搜索量方面无法跟上,Svelte在此比较中绝对不起作用。


因此,对于2020年,使用或希望使用JavaScript框架的前端开发人员应将React和Vue作为他们的主要选择。如果您正在处理大型企业项目,则Angular是有效的选择。


2.静态网站生成器


静态站点生成器结合了服务器端渲染的功能(对于SEO非常重要,而且还具有初始加载时间)和单页应用程序。


如今,许多项目即使不需要服务器端渲染也选择了SSG,因为Next或Nuxt之类的解决方案具有便捷的功能,例如模块捆绑器,集成测试运行器等。


如果您认真对待前端开发,则应仔细研究以下项目,并尝试获得一些实践经验:


·Next(基于React)


·Nuxt(基于Vue)


·Gatsby(基于React)


·Gridsome(基于Vue)


3.JAMstack


术语JAMstack代表JavaScript(在客户端上运行-例如,React,Vue或VanillaJS),API(服务器端进程通过JavaScript通过HTTPS抽象并访问)和标记(在部署时预先构建的模板标记)。。


这是一种构建网站和应用程序以提高性能的方法-降低扩展成本,提供更高的安全性并提供更好的开发人员体验。


尽管这些术语本身并不是什么新鲜事物,但它们的共同点是相同的-它们并不依赖于Web服务器。因此,依赖于Ruby或Node.js后端或使用服务器端CMS(例如Drupal或WordPress)构建的网站的单片应用程序不是使用JAMstack构建的。


如果要使用JAMstack,有一些最佳实践:


整个项目都在CDN上提供服务


由于不需要服务器,因此整个项目都可以通过CDN进行服务,从而释放出无与伦比的速度和性能。


一切都存在于在Git中


每个人都应该能够从Git存储库克隆整个项目,而无需数据库或复杂的设置。


自动化构建


您可以完美地自动构建,因为所有标记都是预先构建的,例如使用webhooks或云服务。


原子部署


为了通过在大型项目中重新部署数百或数千个文件来避免出现不一致的状态,原子部署将等待所有文件上传,然后再进行更改。


即时缓存失效


当站点上线时,必须确保CDN可以处理即时缓存清除,以使更改可见。


像Netlify或Zeit这样的着名主机都支持JAMstack应用程序,大公司使用它们为用户提供出色的体验。


4.PWA


渐进式Web应用程序(PWA)无疑将在2020年成为现实。越来越多的公司选择PWA取代本机应用程序,以便为用户提供丰富的移动体验。


PWA可靠(即时加载,无需连接互联网即可工作),快速(流畅的动画,对用户交互的快速响应)和吸引人的体验(本机应用程序的感觉,出色的用户体验)。


他们利用服务人员提供脱机功能,并利用Web应用清单文件提供全屏体验。


构建渐进式Web应用程序的原因有:


·可以从浏览器添加到用户的主屏幕


·即使没有互联网也能正常工作


·支持网络推送通知以增强用户参与度


·利用Google的Lighthouse功能


5.GraphQL


GraphQL是当前最热门的主题之一,并且绝对是您在2020年需要学习或改进的东西。


尽管REST通过提供无状态服务器之类的出色概念一直被认为是设计WebAPI的事实上的标准,但在跟上快速变化的客户端访问RESTful
API时,RESTfulAPI却越来越不灵活。


GraphQL由Facebook开发,旨在解决开发人员在处理RestfulAPI时面临的确切问题。


使用RESTAPI,开发人员可以通过从具有特定目的的多个端点(例如/users/端点或/tours//
location端点)中获取数据来收集数据。


使用GraphQL,这将以不同的方式工作。开发人员会将查询与他们的数据要求一起发送到GraphQL服务器。然后,服务器将返回带有所有相应数据的JSON对象。


使用GraphQL的另一个好处是它使用了强类型系统。GraphQL服务器上的所有内容都是使用GraphQL模式定义语言(SDL)通过模式定义的。创建架构后,前端开发人员和后端开发人员都可以彼此独立地工作,因为他们知道已定义的数据结构。


6.代码编辑器/IDE


与2019年一样,微软的VSCode将在2020年成为大多数前端工程师的第一编辑器。


它提供几乎类似于IDE的功能,例如代码自动完成和语法高亮显示,并且可以通过其扩展市场进行几乎无限的扩展。


特别是市场使VSCode如此出色。以下是您作为前端开发人员的一些出色扩展:


·JavaScript(ES6)代码段


·npm


·beautify


·CSS速览


·ESLint


·LiveSass编译器


·Chrome调试器


这些是很酷的例子。在VSCode中还有很多可以发现的地方,因此,如果您尚未使用它,我建议您尝试一下。


7.测试


未经测试的代码不应找到它的生产方式。


在您的个人项目中似乎没有任何测试似乎很方便,但在商业和企业环境中工作时必须进行测试。因此,对于任何开发人员而言,最好尽可能将测试集成到开发工作流程中。


可以区分以下测试用例:


单元测试


隔离测试单个组件或功能。


整合测试


测试组件之间的交互。


端到端测试


在浏览器中测试功能完善的用户流。


有更多测试方法,例如手动测试,快照测试等。如果您想升任高级开发人员职位或打算在拥有某些开发标准的大型公司工作,则应尝试进行测试技能。


8.干净的代码


能够编写干净的代码是一项很棒的技能,许多组织都对此提出了很高的要求。如果您想从开发人员的位置升级为高级开发人员的位置,则应真正学习干净代码的概念。


简洁的代码应优雅且易于阅读。它应该重点突出,您应该注意这一点。所有测试均以纯净代码运行。它们不应包含重复项,应尽量减少使用实体(例如类,方法和函数)。


干净代码开发人员应做的一些事情是:


·为变量,类,方法和函数创建有意义的名称


·函数应该很小并且参数应尽可能少


·根本不需要注释-代码应该说明一切


如果您想了解有关干净代码检查的更多信息,请阅读RobertC.Martin的书籍和帖子。


9.Git


毫无疑问,Git是当今Web开发中版本控制的标准。对于每个前端工程师而言,了解基本的Git概念和工作流程以在各种规模的团队中有效工作都是非常重要的。


这是您应该知道的一些流行的Git命令:


gitconfig


gitinit


gitclone


gitstatus


gitadd


gitcommit


gitpush


gitpull


gitbranch


知道这些命令可以提高工作效率总是很高兴的,但是前端工程师还应该学习Git的基本概念。


10.软技能


对于开发人员来说,经常被忽视但确实非常重要的是获得软技能。


虽然有助于了解事物的技术方面,但了解如何在团队中进行交流也同样重要。如果您对技术职业很认真,并且/或者打算升任高级职位,则应该从事以下软技能方面的工作:


同情


沟通


团队合作


平易近人和乐于助人


忍耐


开放的思想


解决问题


责任心


创造力


时间管理


永远记住:开发人员最重要的交付物是高级开发人员。(提升你自己)


结论


在本文中,小编向您展示了前端开发人员应在2020年尝试学习,改进或掌握的10项重要内容。想要了解更多web前端相关知识记得关注北大青鸟web前端培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的web前端工程师。


2. 成为Web前端开发工程师的学习指南

今天小编要跟大家分享的文章是关于成为web前端开发工程师的学习指南。想要学习web前端开发技术的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。

1、首先确定你的目标或道路


我们将讨论很多技术,趋势和工具,但我们不希望您不知所措,因此你需要首先决定要成为一名Web开发人员要做什么,因为这将帮助你选择合适的工具。和学习技术。成为Web开发人员的原因有很多,下面列出了一些选择因素:


·你想作为一名Web开发人员在一家公司工作,这是最普遍的原因。


·你想以自由开发人员的身份来开始自己的业务或代理。


·你可以成为其他公司的顾问。


·你可以创建自己的应用来赚钱。


·编码是你的业余爱好。


从上述感兴趣或目标的领域,你可以选择适用于你的目标的正确工具和技术。如果你的目标是成为一名前端开发人员,则可以选择前端开发的工具和技术。后端和全栈开发也是如此。


2、Web开发的基本工具和软件


·
计算机和操作系统:如果没有计算机和操作系统,则无法编写代码。要学习Web开发,你不需要任何高端计算机(如果你拥有的话,那么更好)。你可以使用任何类型的中型笔记本电脑或台式机。对于操作系统,可以使用适合你的MacOS,Windows(最新版本)或Linux。


·文本编辑器/
IDE:毫无疑问,VSCode适用于大多数情况和大多数语言。它具有良好的性能,出色的扩展性,内置的终端功能以及大量功能。在2019年StackOverFlow调查中,VSCode也是开发人员的首选。你还可以选择其他一些不错的选择,例如Sublime
Text或Atom。如果我们谈论IDE,那么是Visual
Studio(#或C#),Eclipse和Netbeans(Java)。是不错的选择。


·
Web浏览器:大多数开发人员的首选是Chrome或Firefox。Chrome速度很快,并且使用V8引擎(JavaScript引擎)。Firefox也取得了长足的进步,其中的一些好东西不在chrome浏览器中。两种浏览器都有出色的开发工具,可以对Web开发中的问题进行故障排除。


·终端:您将使用一些系统命令来使用CLI进行很多工作。您可以将默认或第三方终端用于您的Web开发项目。Bash,Zsh,Powershell,Git
Bash,iTerm,Hyper这些都是可以使用的选项。


·设计(可选):并不是每个人都需要学习。在公司中,有专门的团队来制作图像,徽标或草图,但是如果您是自由职业者,则可能必须学习Adobe
XD,Photoshop,Sketch或Figma。


3、从HTML和CSS开始


HTML和CSS是Web开发的基本构建块。无论您的Web应用程序有多先进,或者使用什么框架和后端语言,都必须使用HTML和CSS构建前端应用程序。因此,这是在Web开发中要学习的第一件事。


·HTML5(语义元素,属性,文档类型等)


·CSS基础知识颜色,字体,位置,盒子模型等。


·CSSGrid和Flexbox对齐内容或创建列。


·CSS自定义属性


4、响应式布局


您的应用程序应该在所有类型的设备(例如智能手机,平板电脑,台式机,iPad或任何其他屏幕尺寸的设备)上都可以查看和使用。因此,了解创建响应式设计或布局非常重要。让我们来看一些重要的主题。


·了解如何设置视口


·媒体查询不同的屏幕尺寸。


·流体宽度


·雷姆单位


·移动优先


5、自定义可重用CSS组件


与其依赖大型的CSS框架(如Bootstrap),不如创建自己的模块化,可重用的CSS组件以在项目中使用。如果您构建自己的定制设计,则无需导入完整的库。您创建只需要特定UI的组件。的新趋势最近还出现了有助于更有效地编写CSS代码的代码。如果你已经了解CSS,那么您无需在学习Saas上花费很多精力。Saas是CSS预处理程序,可为标准CSS添加更多功能并使其更加高效。你可以使用变量,嵌套,条件语句来减少CSS的重复并提高其效率。你还可以为每个可重用组件创建单独的Saas文件。Sass确实节省了很多时间,所以你绝对应该在2020年学习它。


6、CSS框架


学习CSS框架的普及程度不如去年,但对于不擅长设计的开发人员而言,仍然非常相关或有用。有许多流行的CSS框架可供使用,其中一些如下。


·Bootstrap是最流行的CSS框架。学习引导程序也有助于学习其他框架。


·Tailwind
CSS是其他正在流行的框架,与其他框架几乎没有什么不同。它是一组实用程序类,因此您可以创建自己的按钮和其他看起来与其他按钮确实不同的东西。它们也是高度可定制的。


·物化


·布尔玛


7、前端必须语言:JavaScript


学习HTML和CSS之后,接下来需要学习的是Vanilla
Javascript。对开发人员来说,掌握javascript基本知识非常重要。您将在服务器端语言(例如PHP,Python或#)中使用大量javascript,并且如果您想与React,Angular,NodeJS,Vue或任何其他javascript框架或库一起使用,则非常需要学习这种语言。以下是你应该在javascript中涵盖的一些重要主题


·JavaScript基础知识(变量,数据类型,函数,条件等)


·DOM(文档对象模型)


·JSON(JavaScript对象表示法)


·提取API(请求/响应/Ajax)


·如果您想转向React,Vue,Angular或其他框架,现代JS(ES6)概念对于学习非常重要。


8、一些重要工具


Web开发中将使用一些工具。这些工具将帮助你进行调试,提高生产率,管理代码,与其他开发人员合作以及类似的东西。让我们讨论其中一些工具。


·
Git(版本控制)和Github是您肯定会在2020年学习的最受欢迎的工具。Git在与其他开发人员协作和管理代码方面有很多帮助。您还可以选择其他一些选项,例如GitLab,Bitbucket和其他一些选项。


·
了解如何使用浏览器开发工具。无论是chrome还是firefox,您都应该知道如何使用不同的选项卡,例如元素选项卡,javascript控制台,用于请求和响应的网络选项卡,应用程序选项卡以及其他用于不同目的的选项卡。


·大多数IDE或文本编辑器都具有添加扩展名或插件的功能,这对提高生产力和构建Web应用程序非常有帮助。例如,Visual
Studio代码中的VSCode扩展可帮助下载扩展,例如实时服务器或实时saas编译器以与React一起使用。


·Emmet是另一个很棒的工具,它允许您编写非常快速的HTML和CSS,这有助于提高开发人员的生产力。


·
学习使用javascript软件包管理器,例如NPM和Yarn。如果您正在使用Javascript框架或库(例如React),那么这些软件包管理器将使用很多,但是对于其他语言(例如Python或Php),您将使用不同的软件包管理器。


·
如果要在前端安装NPM软件包,则必须使用Webpack或Parcel。如果要创建自己的模块,或者要将一个javascript文件带到另一个javascript文件,则默认情况下不能仅使用浏览器来执行此操作,因此需要Webpack或Parcel对其进行捆绑。


9、基本部署


此时,一旦你知道应该为前端开发学习什么工具或技术,就需要知道如何在Internet上部署前端网站。如果你正在为小型企业构建一些小型应用程序,登录页面或个人站点,则无需学习AWS或DevOps,仅因为它们具有光泽和新潮。你将使事情变得更加复杂而不是简单。你需要在2020年学习一些部署工具和步骤。


·域注册(Namecheap,Google等)


·托管托管(InMotion,Hostgator,Bluehost等)


·静态主机(Netlify,Github页面)


·SSL证书。


·FTP,SFTP(文件传输协议)非常适合小型应用程序。


·SSH(安全外壳),用于高级应用程序。


·CLI和Git。


到目前为止,我们讨论的任何工具,技术趋势或步骤都是前端开发的一部分。您尚不知道该框架,但可以为个人和小型企业构建网站,也可以构建适合移动设备的布局。您还可以使用到目前为止讨论的工具或技术来部署小型应用程序或项目。如果您想申请工作,那么学习一些前端框架(如React,Vue或Angular)将是很棒的。


10、前端框架和状态管理


框架使您可以进行更高级的前端开发。框架为您提供了许多优势,例如可重用的组件,更有条理的UI或页面交互。这对于协作更好,也有助于编写简洁的代码。另外,了解状态管理。每个框架都有不同的方法。以下是2020年的一些流行框架和状态管理器。


·React:React库是最流行的Web开发学习方法,与其他框架和库相比,它相当容易。React开发人员还有很多工作要做。您可以将Rex和
ContextAPI与Hooks一起使用以进行状态管理。


·Vue:
Vue也越来越受欢迎,开发人员也更喜欢学习Vue。与React和Angular相比,Vue最容易学习。VueX是为视图而构建的状态管理器。


·Angular:此框架通常在大型组织中使用。它具有相当陡峭的学习曲线。用Angular学习
TypeScript也很好。它允许您使用可选的静态类型并支持ES2015的功能。NGRX和Services是可以学习此框架的良好状态管理器。


可选学习:


·
如果您具有这三个框架之一的知识,那么您还可以使用Svelte,它是一个JavaScript编译器,可让您生成纯净的原始JS代码并帮助您轻松构建用户界面。


·
了解服务器端渲染。NextJS(React)和NuxtJS(Vue)是允许您在服务器上运行React和Vue的框架。两者都有很好的功能,例如更好的SEO,文件系统路由,自动代码拆分,静态导出,JS中的CSS和许多其他功能。


·静态网站生成器:Gatsby(反应式)和Gridsome(Vue)


我们已经讨论了所有大多数前端开发工具和技术。现在让我们讨论成为后端开发人员或全栈开发人员的语言和技术。


11、服务器端语言(选择一种)


您应该至少了解一种服务器端语言。要在2020年选择一种语言,下面提供了一些选项...


·NodeJS(不是语言,而是运行时环境)


·Python(非常适合初学者)


·Java(适合大型组织)


·Php(适合自由职业)


·Ruby(2020年少两极)


·C#


·Go


注意:无论你喜欢学习哪种服务器端语言,都要确保你了解使用该语言的数据结构和算法。数据结构和算法将帮助您为用户呈现数据,并将帮助您优化Web应用程序中的代码。我们特别建议您专注于使用数组和字符串(最重要)。你将同时使用这两种方法。


12、服务器端框架(选择一项)


一旦学习了自己选择的一种服务器端语言,就可以使用其中一种语言框架。您可以选择以下给出的选项之一...


·Node.js_Express,Koa,Adonis,Feather.js,Nest.js


·Python:Django,Flask,


·Java:SpringMVC,Grails


·PHP:Laravel,Symfony,Codeignitor,Slim


·Ruby:Sinatra上的RubyonRails


·C#:ASP.NETMVC


·Go:Revel


13、数据库(选择一项)


大多数Web应用程序都需要一个存储数据的地方。在某些情况下,某些技术或某些语言可以与某些数据库配合使用。例如:在Mern堆栈中,M代表MongoDB,而在LAMP堆栈中M代表MySQL,但完全取决于您要为应用程序选择哪个数据库。我们将讨论2020年一些流行的数据库。


·关系数据库:RDBMS仍然是最受欢迎的数据库。最喜欢使用PostgreSQL,MySQL,MSSQL。


·NoSQL:MongoDB,RethinkDB,CouchDB


·云数据库:Firebase,AzureCouldDB,AWS


·轻量级和缓存:Redis,SQLlite,NeDB


在学习数据库时,您还将学习RDBMS,ORM(对象关系映射器)或ODM(对象数据映射器)的SQL(结构化查询语言)。GraphQL
:(可选)您可以了解现在流行的GraphQL。这是API的查询语言。它具有类似于JSON的简单语法,并且相当容易实现。


14、CMS:内容管理


您绝对应该了解内容管理系统,尤其是如果您是自由职业者。CMS用于将内容添加到您的网站或应用程序。客户能够更新自己的内容非常好。


·
传统CMS:WordPress(PHP),Drupal(PHP),Keystone(Javascript),Enro(Javascript)


·其他CMS:DEDECMS,帝国CMS,PHPcms,Prismic.io,Strati。


15、部署和DevOps


托管全栈应用程序或后端应用程序比仅前端应用程序要复杂一些,尤其是当您拥有数据库时。确保您知道如何使用CLI进行部署。了解有关用于部署应用程序的以下内容。


在大多数公司中,有不同的团队从事DevOps的工作。因此,拥有有关DevOps的知识完全是可选的。您可以了解到,如果您正在从事自己的项目。


·SSH(安全外壳)


·Web服务器环境:NGINX,Apache


·应用程序托管:Linode,Heroku,AWS,Azure,Now。


·虚拟化:Docker,Vagrant


·测试:单元,功能,集成等


·负载平衡,监视,安全性。


以上所有技术工具都足以使您成为前端,后端或全栈开发人员。根据最终目标选择正确的工具和技术。


以上就是小编今天为大家分享的关于成为web前端开发工程师的学习指南的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助,想要了解更多web前端相关知识记得关注北大青鸟web培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的web前端开发工程师。


英文|#/how-to-become-a-web-developer-in-2020-a-complete-guide/翻译|web前端开发(ID:web_qdkf)


3. 2021年的前端框架选择 Angular vs React vs Vue

每个前端开发人员都听说过三个用于构建 Web 应用程序的框架:React、Vue.js和Angular。

React 是一个 UI 库,Angular 是一个成熟的前端框架,而 Vue.js 是一个渐进式框架。

它们几乎可以互换使用来构建前端应用程序,但它们并非 100% 相同,因此比较它们并了解它们的差异是有意义的。

每个框架都是基于组件的,并允许快速创建 UI 功能。

然而,它们都有不同的结构和架构——所以首先,我们将研究它们的架构差异以了解它们背 后的哲学。

React 不强制执行特定的项目结构,正如您从下面的官方“Hello World”示例中看到的那样,您只需几行代码即可开始使用 React。

React 可以用作 UI 库来渲染元素,而无需强制执行特定的项目结构,这就是它不是严格意义上的框架的原因。

React Elements是 React 应用程序的最小构建块。它们比 DOM 元素更强大,因为 React DOM 确保在发生变化时有效地更新它们。

组件是更大的构建块,定义了在整个应用程序中使用的独立且可重用的部分。它们接受称为 props 的输入并生成元素,然后显示给用户。

React 基于 JavaScript,但它主要与JSX (JavaScript XML)结合,这是一种语法扩展,允许您创建同时包含 HTML 和 JavaScript 的元素。

您使用 JSX 创建的任何内容也可以使用 React JavaScript API 创建,但大多数开发人员更喜欢 JSX,因为它更直观。

Vue.js 核心库只关注视图层。之所以称为渐进式框架,是因为您可以使用官方和第三方包(例如Vue Router或Vuex )扩展其功能,将其转变为实际框架。

虽然 Vue 与 MVVM(Model-View-ViewModel)模式没有严格关联,但它的设计部分受到了它的启发。使用 Vue,您将主要在 ViewModel 层上工作,以确保以允许框架呈现最新视图的方式处理应用程序数据。

Vue 的模板语法让您可以创建 View 组件,并将熟悉的 HTML 与特殊指令和功能相结合。这种模板语法是首选,即使原始 JavaScript 和 JSX 也受支持。

Vue 中的组件很小,是自包含的,并且可以在整个应用程序中重复使用。带有扩展名的单文件组件(SFC).vue包含 HTML、CSS 和 JavaScript,因此所有相关代码都位于一个文件中。

SFC 是在 Vue.js 项目中组织代码的推荐方式,尤其是大型项目。需要使用 Webpack 或 Browserify 等工具将 SFC 转换为可用的 JavaScript 代码。

在本文中,我讨论的是 Angular 2,而不是现在称为 AngularJS 的框架的第一个版本。

AngularJS,原始框架,是一个MVC(模型-视图-控制器)框架。但是在Angular 2 中,与 MV*-patterns 没有严格的关联,因为它也是基于组件的。

Angular 中的项目被组织成模块、组件和服务。每个 Angular 应用程序至少有一个根组件和一个根模块。

Angular 中的每个组件都包含一个模板、一个定义应用程序逻辑的类和元数据(装饰器)。组件的元数据告诉 Angular 在哪里可以找到创建和呈现其视图所需的构建块。

Angular 模板是用 HTML 编写的,但也可以包含带有特殊指令的Angular 模板语法,以输出反应性数据和呈现多个元素等。

组件使用 Angular 中的服务来委托业务逻辑任务,例如获取数据或验证输入。它们是 Angular 应用程序的独特部分。虽然 Angular 不强制使用它们,但强烈建议将应用程序构建为一组可以重用的不同服务。

Angular 内置于 TypeScript 中,因此建议使用它以获得最无缝的体验,但也支持纯 JavaScript。

React 是最受欢迎的 JavaScript 项目之一,在 GitHub 上拥有 16 万颗星。它由 Facebook 开发和维护,并在他们的许多项目内部使用。此外,根据BuiltWith的使用统计数据,它为超过 200 万个网站提供支持。

在三个框架中,Vue在 GitHub上的 star 数最多,有 176k。该项目由前 Google 员工 Evan You 开发和领导。据BuiltWith 称,这是开源社区中一个非常强大的独立项目,被超过 100 万个网站使用。

Angular 是由 Google 开发的,但令人惊讶的是它并没有用于他们的一些旗舰产品,例如搜索或 Youtube。它经常用于企业项目,并基于BuiltWith的数据为超过 97,000 个网站提供支持。

它是三个框架中星数最少的,在 GitHub 上有 68k 星。然而,当从 Angular 1 切换到 Angular 2 时,他们创建了一个全新的代码库,而不是继续AngularJS项目,该项目也有 59k 星。

在开发应用程序时,开源包可以为您节省宝贵的时间。不仅如此,它们通常比定制组件和封装更好,因为它们经过了实战测试。

查看可帮助您更轻松地创建新功能的现成组件、主题和其他工具的可用性非常重要。

许多前端应用程序依赖全局状态管理来存储信息,例如谁登录和其他用户设置。

最流行的 JavaScript 状态管理项目是Rex。大多数开发人员使用Rex的官方 React 绑定,这些绑定由 Rex 团队维护。

由于 React 的流行,查找输入组件和现成的元素非常容易。它们都只是在 Google 或 GitHub 上搜索即可。

React 生态系统还包括React Native,它允许您从用 React 编写的单个代码库构建原生 iOS 和 Android 应用程序。因此,React 也可以成为使用 Web 技术构建移动应用程序的绝佳选择。

React 是 MERN 堆栈的一部分,其中包含 MongoDB、ExpressJS、React 和 NodeJS。这种组合的伟大之处在于,单一语言——JavaScript——为整个应用程序提供动力。

尽管 Rex 可以在 Vue 中使用,但没有官方绑定。但这不应该让您担心,因为Vuex是专门为 Vue 应用程序制作的官方状态管理库。除了与 Vue 很好地集成之外,使用 Vue 的开发人员工具进行调试也很容易。

在 Vue 的早期,很难找到现成的组件。随着社区的发展,您可以使用各种输入组件和高级元素来加快开发速度。

对于移动应用程序开发,有一个名为Weex 的新兴项目。Weex 由阿里巴巴开发和使用,但不如 React Native 成熟和强大。更重要的是,由于该项目在中国开发和使用较多,因此很难找到英文文档和解决问题的方法。

Vue 与 Laravel 集成得很好,这就是为什么它们经常一起使用。Laravel 提供完整的JavaScript 和 CSS 脚手架,以支持在新项目中使用 Vue。

对于 Angular 中的状态管理,您可以使用NgRx项目。它的灵感来自 Rex,但它是专门为 Angular 创建的。

与 Vue 和 React 的情况一样,您可以将许多现成的组件导入到您的项目中。与 Angular 略有不同的是,Angular Material项目中有许多官方组件。这是 Google 的一个官方项目,为 Angular 应用程序提供 Material Design 组件。

您可以使用NativeScript在 Angular 中构建跨平台移动应用程序。它也支持 Vue,但 Angular 支持更成熟。

Angular 是着名的 MEAN 堆栈的一部分,它将 Angular 与 MongoDB、ExpressJS 和 NodeJS 相结合。与 MERN 堆栈类似,它的前端和后端都完全依赖 JavaScript。

Angular、React 和 Vue 都可用于开发渐进式 Web 应用程序,也称为 PWA。

PWA 不是移动应用程序,而是 Web 应用程序,智能手机用户可以将其添加为主屏幕的快捷方式,并提供类似于原生移动应用程序的外观和感觉。

您还可以为每个框架找到高级模板和预制应用程序,但 Angular 和 React 比 Vue 提供更多高级选项。

在选择框架或库时,您还需要考虑性能。

在许多情况下,您不必担心性能,尤其是在构建小型项目时。然而,项目的范围和复杂性越大,性能就会(并且将会)成为一个问题。

重要的是要注意,在 Web 性能方面,开发质量和遵循最佳实践比框架的选择更重要。

但由于存在一些性能指标和差异,我将研究它们并解释每个指标如何影响您的开发工作。

JS 框架基准测试的结果表明,它们在大多数基准测试中都表现得相当好,例如在表中创建或附加行。

正如你在上面看到的,Vue 在选择行时比 Angular 和 React 慢得多。另一方面,Angular 和 React 在交换行方面效率不高。

这些是渲染基准中唯一的实质性差异 - 在大多数情况下,不会产生明显的结果。由于选择行是比交换行更常见的功能,我想说这个基准测试将 Vue 排在第三位,仅次于 Angular 和 React 并列第一。

在内存和启动时间方面,React 和 Vue 得分很好,但 Angular 稍慢。Angular 启动一个基本脚本可能需要 150 毫秒,并且需要更多内存才能运行。

谷歌 Chrome 实验室的Perf Track显示了来自数千个网站的生产数据。这些统计数据受许多其他因素的影响,而不仅仅是选择的框架,让我们看看数字。

与 Angular 相比,Vue 和 React 网站在这个指标上的排名更高,Angular 需要更多时间来启动并向用户呈现内容。

在渲染完整页面的三个框架中,Angular 也是最慢的,只有 27% 的 Angular 网站得分在可接受的范围内。

对于所有三个框架,超过 80% 的网站都在第一次输入延迟的可接受范围内,这显示了用户可以与页面交互所需的时间。

迄今为止,最轻量级的应用程序是使用 Vue 开发的应用程序,68% 的 Vue 应用程序加载的 JavaScript 不到 1MB。另一方面,Angular 和 React 应用程序往往具有更大的代码大小。

您可以从这些数字中看到趋势,但您不应该太快得出结论。例如,对于最后一张图,可以解释为 Vue 用于开发更轻量级的应用程序,而 Angular 用于更大的项目。

统计数据可以帮助指导您做出正确的决定,但您不能使用它们来证明一个框架比另一个更快或更好。

对于更高级的应用程序,使用的前端框架应该能够执行一些提高性能并且可以更好地扩展的任务。

两项关键技术是服务器端渲染 (SSR) 和虚拟化。

React 支持使用官方ReactDOMServer包进行服务器端渲染。对于虚拟化,您可以使用名为React Virtualized的流行第三方工具。

Vue 中也支持服务器端渲染以及官方的SSR 包。此外,您还可以使用基于 Vue 构建并支持 SSR的Nuxt.js框架。

不幸的是,Vue 中的虚拟化选项并不是那么强大。在我看来,Vue Virtual Scroll List是虚拟滚动的最佳解决方案,但它有点问题,不如 React 和 Angular 的选项稳定。

Angular 拥有SSR的官方Angular Universal包,以及用于虚拟滚动和高效渲染大型列表的官方组件。

学习这些框架有多容易?

要回答这个问题,我们需要查看每个框架的复杂性及其引入的概念。

在最基本的用例中,React 是三个框架中最不复杂的。那是因为你只需要导入库,然后你就可以用几行代码开始编写你的 React 应用程序。

但是除了 Hello World 示例之外,大多数 React 应用程序都是基于组件的,而不仅仅是在页面上呈现一些元素。

一些开发人员对 React 感到奇怪或困难的一件事是,学习 JSX 是一条单行道。您也可以使用原始 JavaScript,但由于大多数 React 开发人员使用 JSX,学习它几乎是不可避免的。

这是使 React 的学习曲线变得更陡峭的主要因素,但除此之外,对于了解 JavaScript 并理解 Web 开发概念的开发人员来说,它是一个易于学习的库。

Vue 的设置比 React 稍微复杂一些。你可以将它用作一个库来定义你可以在整个 HTML 中使用的组件——但与 React 类似,这不是大多数项目的构建方式。

大多数 Vue 项目都有一个命名的根组件App.vue和一些用于显示各种内容的子组件。

说到语法,你唯一需要学习的新东西就是 Vue 的模板语法,如果你了解 HTML,这很容易掌握。基本的指令,如v-if和v-for有条件的渲染和列表的渲染,很容易理解即使是初学者。

此外,Vue 的单文件组件将所有前端代码保存在一个地方,便于组织新项目。

在我看来,Vue 是最容易学习的,因为它的简单和直观的语法。

Angular 拥有三者中最复杂的项目结构,而且由于它是一个成熟的前端框架,因此它依赖的概念更多。

除了组件,Angular 还支持模块和服务。它希望您以特定的方式编写和设计代码库,从而使您的项目在扩展时更易于维护。

至于语法,由于 Angular 最适合与 TypeScript 配合使用,因此在构建 Angular 项目时了解 TypeScript 非常重要。

与 Vue 一样,您还必须熟悉类似 HTML 的语法,以便您可以开始使用 Angular 编写新的 UI 功能。

在我看来,Angular 对于普通开发者来说是最难学的,因为它更复杂并且依赖于 TypeScript。

许多开源项目和框架逐渐被遗忘并无人维护。您是否应该担心我们在这里讨论的任何框架?

尽管我们无法完全预测会发生什么,但正在进行的开发工作是这些项目 健康 状况的良好指标。人气和增长也是预测项目寿命的重要指标,所以让我们来看看每个框架。

React v17.0已经发布,但令人惊讶的是,它没有为开发人员提供任何新功能。

主要的变化是这个新版本可以更容易地升级 React 本身。您可以将 React 的某些部分从旧版本升级到新版本,而无需升级整个项目。

如果您的应用程序依赖于随新版本更改或弃用的功能,您可以保留旧版本以保持此功能有效。此更新使 React 成为一个很好的长期选择,因为它可以更轻松地与新版本保持同步。

React 的每周 npm 下载量自去年以来增长了 44% 。从绝对数量来看,它仍然是三个项目中下载量最大的。

Vue 3 已于2020 年 9 月发布,它解决了 Vue 2 在大型项目中存在的许多严重问题。它引入了受React Hooks启发的Composition API,可以更轻松地跨组件重用逻辑。

整个项目用 TypeScript 重写,提高了新 Vue 项目对 TypeScript 的支持,同时也使项目更易于维护。

Vue 3 是一个急需的升级,使 Vue 更适合大型项目。

Vue 的每周下载量自去年以来增长了 87%,使 Vue 成为相对而言增长最快的框架。如果 Vue 能够保持这种增长速度,那么它肯定会很快超过 Angular。

Angular 最近推出了Ivy 编译器。它减少了构建时间,优化了资产,允许更快的测试,并总体上改善了开发人员的体验。

Angular 团队每年发布两次重大更新,其中可能包含新功能,或者只是让框架跟上新浏览器版本的速度。

自去年以来,Angular 的每周下载量增长了约 50% ,因此它仍然是一个受欢迎的项目。

Angular、React 和 Vue 都处于非常活跃的开发阶段。他们定期发布新版本并维护现有版本。由于在每种情况下当前的支持水平都很高,因此您可以安全地使用这些框架中的任何一个。

需要注意的是,Angular 的增长没有以前那么快,而 Vue—— 尽管它是最近开始的——似乎增长了很多。

如前所述,我们无法预测哪些框架会长期保持相关性,但每个项目背后都有一个伟大的社区,并且在不断发展。

我这篇文章的目标是解释架构差异,分解每个框架的优点和缺点,并在适用的地方进行比较。

在进入一个新框架之前,有几件事情需要考虑。

首先,在选择新技术时,您团队的经验可能是一个决定性因素。

同样,您必须考虑您所在地区可用的人才,以便您可以为您的项目聘请开发人员。

最后,当涉及到项目本身时,复杂性和范围也会影响您对框架的选择。

通过考虑所有关键差异,我希望您可以决定哪个是最适合您的目标和需求的前端框架。

(本文由闻数起舞翻译自Aris Pattakos的文章《Angular vs React vs Vue 2021》,转载请注明出处,原文链接:https://athemes.com/guides/angular-vs-react-vs-vue/)

4. 2020年前端最火的技术是什么

我认为最火的技术有三个:TypeScript、Vue3.0、JAMStack

原因:

1、TypeScript 是一门基于 JavaScript 基础之上的编程语言,很多时候我们都在说它是一个 JavaScript 的超集,或者叫扩展集。所谓超集,其实就是在 JavaScript 原有的基础之上多了一些扩展特性。多出来的呢,实际上就是一套更强大的类型系统,以及对 ECMAScript 新特性的支持。而且它最终会编译为原始的 JavaScript。

相比较于 Flow,TypeScript 作为一门完整的编程语言,它的功能更为强大。生态也更健全、更完善。特别是对于开发工具这一块,微软自家的开发工具对 TypeScript 的支持都特别友好。

2、Vue 是“一个用于构建用户应用程序的渐进式框架”。它的设计非常灵活,可以将单个 Vue 库集成到其他项目中,也可以完全使用 Vue 构建复杂的项目。Vue 通常被视为一个易于理解和实现的框架,它支持纯 HTML 模板,而 React 需要使用 JavaScript 定义来 DOM 元素。

速度更快是 Vue 目前的主要卖点之一,Vue 以其渲染速度而闻名,与其他框架一样,Vue 使用虚拟 DOM 来渲染组件。为了加速渲染过程,必须减少虚拟 DOM 的工作负载。通过编译时间提示、组件快速路径、单态调用、优化 slot 生成等手段来达到提速目的。

体积小

目前,Vue 的体积已经很小了(压缩后 20KB)。由于进行了摇树优化(消除非重要代码),3.0 的预计大小约为 10KB(压缩后)。主要是移除了对 Vue 项目来说不是很重要的库,可以通过 import 语句来使用它们,而不是把它们打包在主 src 代码中。

可维护性

Vue 3.0 将从 Flow 转到 TypeScript,同时又非常重视兼容性易用性,不喜欢使用 TypeScript 的用户仍然可以使用纯 JavaScript。Vue 3.0 提供了更好的模块化,从而变得更加可定制和灵活,还提供了透明性,开发人员可以深入到源代码中。编译器重写是最令人兴奋的功能之一,不仅带来了更好的 IDE 支持,而且可以创建源码映射,如果存在运行时错误,它将给出错误对应的文件位置和行号。

面向原生

Vue 3.0 将与平台无关——它将运行纯 JavaScript,并且在其主构建中不会假设使用诸如 Node.js 之类的东西。这种灵活性使构建 Web、iOS 或 Android 应用程序变得更容易。面向原生使 Vue 更像是 React 的替代品。

易用性

公开 Reactivity API——新的变更允许开发人员显式创建反应式对象和自定义重渲染 hook。3.0 还解决了 Vue 用户经常抱怨的一个问题:什么时候以及为什么要重新渲染组件?3.0 提供了一个 renderTriggered 事件,人们可以通过它查看是什么触发了更新。这个出色的功能将使 Vue 更加透明。

3、JAMstack是指使用JavaScript、API和Markup构建的技术堆栈,JAM是JavaScript、API和Markup的简称,前面第一个字母缩写,JAMstack一种基于客户端JavaScript,可重用API和预构建Markup的现代Web开发架构

1. 更好的性能:为什么要在部署时生成页面时等待页面动态构建?当谈到最小化第一个字节的时间时,没有什么能比通过CDN提供的预构建文件更好。

2. 安全性更高:将服务器端进程抽象为微服务API,可以减少攻击的表面区域。您还可以利用专业第三方服务的专业知识。

3. 更便宜,更容易扩展:当您的部署相当于可以在任何地方提供服务的一堆文件时,扩展就是在更多地方提供这些文件的问题。CDN是完美的,通常包括扩展他们的所有计划。

4. 更好的开发者体验:松散耦合和控制分离允许更有针对性的开发和调试,并且为站点生成器扩展选择CMS选项消除了为内容和营销维护单独堆栈的需要。

所以我认为最火的技术应该就是这三个。

5. 2020年入门Web前端需要学习哪些知识

今天小编要跟大家分享的文章是关于2020年入门web前端需要学习哪些知识?正准备学习web前端的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。

一、HTML、CSS基础、JavaScript语法基础。学完基础后,可以仿照电商网站(例如京东、小米)做首页的布局。


二、JavaScript语法进阶。包括:作用域和闭包、this和对象原型等。相信我,JS语法,永远是面试中最重要的部分。


三、jQuery、Ajax等。jQuery没有过时,它仍然是前端基础的一部分。


四、ES6语法。这部分属于JS新增的语法,面试必问。其中,关于promise、async等内容要尤其关注。


五、HTML5和CSS3。要熟悉其中的新特性。


六、canvas。面试时,有的公司不一定会问canvas,靠运气。如果时间不够,这部分的内容可以先不学。但如果你会,绝对属于加分项。


七、移动Web开发、Bootstrap等。要注意移动开发中的适配和兼容性问题。


八、前端框架:Vue.js和React。这两个框架至少要会一个。入门时,建议先学Vue.js,上手相对容易。但无论如何,同时掌握Vue和
React才是合格的前端同学。


九、Node.js。属于加分项,如果时间不够,可以先不学,但至少要知道node环境的配置。


十、自动化工具:构建工具Webpack、构建工具gulp、CSS预处理器Sass等。注意,Sass比Less用得多,gulp比
grunt用得多。


十一、前端综合:HTTP协议、跨域通信、安全问题(CSRF、XSS)、浏览器渲染机制、异步和单线程、页面性能优化、防抖动(Debouncing)和节流阀(Throtting)、lazyload、前端错误监控、虚拟DOM等。


十二、编辑器相关。SublimeText是每个学前端的人都要用到的编辑器。另外,前端常见的IDE有两个:WebStorm和Visual
StudioCode。WebStorm什么都好,可就是太卡顿;VSCode就相对轻量很多。个人总结一下:用VSCode的人越来越多,用
WebStorm的人越来越少。


十三、TypeScript(简称TS)。ES是JS的标准,TS是JS的超集。TS属于进阶内容,建议把上面的基础掌握之后,再学TS。


以上就是小编今天为大家分享的关于2020年入门web前端需要学习哪些知识的文章,希望本篇文章能够对想要了解web前端工作的小伙伴们有所帮助,想要了解更多web前端知识记得关注北大青鸟web培训官网。最后祝愿小伙伴们工作顺利,成为一名优秀的web前端工程师。


6. 什么是vue

Vue.js是一个构建数据驱动的 web 界面的渐进式框架,是一个JavaScript MVVM库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

7. web前端动态网页开发主流技术有哪些

目前主流的框架是:Vue、React、Angular三大框架。

2020年新增的开发有:小程序云开发、react轻量级框架DvaJS和UmiJS、Vue企业级实战项目与框架、Flutter、React-Native实战项目。

框架详解:

1.Angular

Angular原名angularJS诞生于2009年,之前我们都是用jquery开发,自从angular的出现让我们有了新的选择,它最大的特点是把后端的一些开发模式移植到前端来实现,如MVC、依赖注入等。

2.React

React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益于其创新式的VirtualDOM,性能上碾压angularJS,一经推出,火的一塌糊涂。 特点很多,VirtualDOM、JSX、Diff算法等,支持ES6语法,采用函数式编程,门槛稍高,但也更灵活,能让开发具有更多可能性。

3.Vue

Vue作为最后推出的框架(2014年),借鉴了前辈angular和react的特点(如VirtualDOM、双向数据绑定、diff算法、响应式属性、组件化开发等)并做了相关优化,使其使用起来更加方便,更容易上手,比较少适合初学者。

8. 2020年Web前端开发技术的趋势有哪些

今天小编要跟大家分享的文章是关于2020年web前端开发技术的趋势有哪些?是的,Web开发人员需要在不断发展的环境中成长,需要适应技术的变化,跟得上和学得进去新技术。


软件开发行业,其实与其它行业一样,紧跟最新出现的重要趋势和技术,避免学习不成熟或未就绪的技术也很重要。

在这里,我们总结一份清单,列出2020年以及之后主导的技术趋势,供各位参考。


1、人工智能


根据Gartner预测,到2022年,人工智能市场规模将达到3.9亿美元,许多公司已经将AI纳入其数字化战略中,目前亦没有任何迹象表明它会放缓。


结合目前冠状肺炎的情势,我们可以创建一个移动医疗应用,给病人提供症状检查,供医生咨询并访问病人的全部健康档案。这里可以通过人工智能技术(AI)与在线面对面的咨询结合,从功能上超越传统的在线健康应用。


还有很多企业早已经使用了AI,比如星巴克,他们在利润,品牌和知名度都获得了预期回报。星巴克的移动应用程序为客户提供了个性化的体验,而如今,他们也正在利用用户的购买和使用数据继续改善其用户体验。


星巴克的当前状态是,单店单个CRM系统,用户的订单记录只存在某个单店中,目前星巴克正在将几千家店的订单和用户合并,通过用户购买记录生成建议内容,这些内容可以在客户订阅菜单上主动提供出来,最终用户能够取得更具个性化的建议。用户无论身在何处,在店内、在车内还是在路上,只要通过App应用,星巴克就使用机器学习、AI来理解和估算TA的个人喜好。


所以,建议将人工智能用在你2020的年计划中。在实际项目中,可以将AI放在网站里,帮助你分析和理解网站访问者的行为,甚至使用预先构建好的工具,如智能聊天机器人。


我们根据收集和分析到的数据,来调整内容,将什么内容优先于用户或者开始一个创新功能计划。


2、编程语言


目前有近百种编程语言供你选择,不用全部学习,只需要关注领导者就好。如只学习C语言的派生系,如Java、Python等,它们有更新的API和功能,能够帮助人们更快的学习,并提高生产力。


对于AI和机器学习,以及Web开发,Python已经成为事实上的标准语言,并已经成熟多年,值得我们学习。


在前端领域,JavaScript是当之无愧的基础,它是这个星球上开发Web应用最广泛的编程语言,95%以上的网站都使用了JavaScript。当然,我们更要精通这门语言,需要精通NPM(Node.js
PackageManager)或Yarn,这两个工具能够让JavaScript开发人员轻松分享和重用代码,更能轻松更新代码。


值得一提的是,Google的Golang在继续发展。Golang是Google强力支持的一种编程语言,它可以构建网站,还可以构建游戏等,试试看,有更多惊喜等着你。


3、框架


(1)JavaScript框架


要学习一个框架,需要考虑哪些JS框架比较好?你可能会说是React或者Vue。但是React和VUE都不算是“新的”框架了,但是现在来看,这两个框架出现了很多新“插件”和新“方法”,比如React
Hooks,它使用了TypeScript。


我们还可以找到用在静态网站生成,或者是服务端渲染的基于React和Vue的框架:如用于React的Next.js,用于Vue上的Nuxt。


(2)CSS库


前端工程师一直在寻找快速进行前端开发的方法。


Bulma和Tailwinds目前是加快前端设计的好方法,它们提供了很多布局和设计好的组件。


此外,还有Bootstrap库,有很多网站和Web应用程序都用了Bootstrap,虽然它开始时有些让人生畏,但值得深入掌握。


4、静态网站托管


这种类型的产品,如Netlify和JAMstack,这两家公司提供“下一代”的自动化网站托管服务,包括虚拟主机基础架构。


JAMStack在性能上做了大量工作,开发网站速度也在进一步提升。这些新技术,新产品值得学习和借鉴。


5、单页应用程序(SPA)


单页应用是通过动态重写当前页面,而不再从服务器端加载整个页面,即可与用户交互的Web应用或者网站。这种方法避免用户在页面间出现中断。


SPA让访客不再受导航和菜单限制,并可以适配任何一种设备。


6、聊天机器人


AI和很多渠道需要聊天机器人,如客户服务与自动化流程,特别是市场营销和数据分析。进入到2020年,对聊天机器人的需求将越来越普遍。现在,我们看到的一些聊天机器人,虚拟助手,如Amazon的Alexa,微软的小娜以及苹果的Siri,以及国内厂商小米,华为等。大部分电商平台都应用了智能客服与用户互动,即聊天机器人与真人互动,有一些企业正在研发两个机器人之间的通信和互动。


这些技术的发展使市场触及到数字用户体验,确保聊天、语音、消息通信以及Web应用之间的一致性。


绝对应该在2020年的项目中集成聊天机器和相关AI功能。


7、渐进式Web应用程序(PWA)


渐进式Web应用程序容易开发,可以赢得大部分的用户体验,渐进式Web应用的外观和感受都像应用程序式的网站,这代表用户无需下载移动app就可以访问所有信息和功能。


目前,渐进式Web应用正在不断吸收现代Web技术在浏览器中向用户提供类似应用程序一般的体验。目前PWA正在软件开发领域不断获得发展,PWA还支持脱机使用,内容可以无缝同步到多个设备。


8、WebAssembly


WebAssembly简称为WASM,是一种微型但快速的二进制制的Web应用程序,它可以让Web应用程序几乎接近于本地应用的性能。WebAssembly旨在成为任何一门编程语言编译目标,例如JavaScript。有的开发者认为WebAssembly试图要替代JS,但WASM实际上Js的好朋友。


在开发应用程序时可以采用WebAssembly技术,可以自由选择合适的编程语言来开发,如游戏,音乐,视频等。可以认为WASM
是下一代的JavaScript,它将在2020年开始流行。


以上就是小编今天为大家分享的关于2020年web前端开发技术的趋势有哪些的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助想要了解更多web前端知识记得关注北大青鸟web培训官网。最后祝愿小伙伴们工作顺利!


作者:老夏


来源:21CTO


9. Web前端开发工程师入门必备指南

今天小编要跟大家分享的文章是关于Web前端开发工程师入门必备指南。经过如此多的试验和测试,而不是说你从头开始创建了所有内容,接着,你在网页上创建了第一个登录表单时,你感觉如何?经过了多次更改后,将布局分配给第一个Web应用程序时感觉如何?当成功处理了数千个用户的操作时,你感觉如何?

大多数Web开发人员都经历了上述所有阶段,最初可能会对其中某些感到沮丧,但是当他们看到自己的网站正在运行并且人们在世界各地使用它时,总体感觉确实令人兴奋和惊奇。Web开发人员负责许多任务,从收集需求到设计网站,处理网站的后端部分,并使其成功地为用户服务。每年,行业中都会涌现出新技术和工具,以提高开发人员的工作效率,并为用户提供更好的网站。对于他们来说,保持在Web开发游戏之上的挑战变得越来越大。今天,我们将讨论要在2020年成为Web开发人员的完整地图。这将是针对所有开发人员(前端,后端和全栈)的实用指南。下面来和小编一起看一看吧,希望本篇文章能够对大家有所帮助。


1、首先确定你的目标或道路


我们将讨论很多技术,趋势和工具,但我们不希望您不知所措,因此你需要首先决定要成为一名Web开发人员要做什么,因为这将帮助你选择合适的工具。和学习技术。成为Web开发人员的原因有很多,下面列出了一些选择因素:


·你想作为一名Web开发人员在一家公司工作,这是最普遍的原因。


·你想以自由开发人员的身份来开始自己的业务或代理。


·你可以成为其他公司的顾问。


·你可以创建自己的应用来赚钱。


·编码是你的业余爱好。


从上述感兴趣或目标的领域,你可以选择适用于你的目标的正确工具和技术。如果你的目标是成为一名前端开发人员,则可以选择前端开发的工具和技术。后端和全栈开发也是如此。


2、Web开发的基本工具和软件


·
计算机和操作系统:如果没有计算机和操作系统,则无法编写代码。要学习Web开发,你不需要任何高端计算机(如果你拥有的话,那么更好)。你可以使用任何类型的中型笔记本电脑或台式机。对于操作系统,可以使用适合你的MacOS,Windows(最新版本)或Linux。


·文本编辑器/
IDE:毫无疑问,VSCode适用于大多数情况和大多数语言。它具有良好的性能,出色的扩展性,内置的终端功能以及大量功能。在2019年StackOverFlow调查中,VSCode也是开发人员的首选。你还可以选择其他一些不错的选择,例如Sublime
Text或Atom。如果我们谈论IDE,那么是Visual
Studio(#或C#),Eclipse和Netbeans(Java)。是不错的选择。


·
Web浏览器:大多数开发人员的首选是Chrome或Firefox。Chrome速度很快,并且使用V8引擎(JavaScript引擎)。Firefox也取得了长足的进步,其中的一些好东西不在chrome浏览器中。两种浏览器都有出色的开发工具,可以对Web开发中的问题进行故障排除。


·终端:您将使用一些系统命令来使用CLI进行很多工作。您可以将默认或第三方终端用于您的Web开发项目。Bash,Zsh,Powershell,Git
Bash,iTerm,Hyper这些都是可以使用的选项。


·设计(可选):并不是每个人都需要学习。在公司中,有专门的团队来制作图像,徽标或草图,但是如果您是自由职业者,则可能必须学习Adobe
XD,Photoshop,Sketch或Figma。


3、从HTML和CSS开始


HTML和CSS是Web开发的基本构建块。无论您的Web应用程序有多先进,或者使用什么框架和后端语言,都必须使用HTML和CSS构建前端应用程序。因此,这是在Web开发中要学习的第一件事。


·HTML5(语义元素,属性,文档类型等)


·CSS基础知识颜色,字体,位置,盒子模型等。


·CSSGrid和Flexbox对齐内容或创建列。


·CSS自定义属性


4、响应式布局


您的应用程序应该在所有类型的设备(例如智能手机,平板电脑,台式机,iPad或任何其他屏幕尺寸的设备)上都可以查看和使用。因此,了解创建响应式设计或布局非常重要。让我们来看一些重要的主题。


·了解如何设置视口


·媒体查询不同的屏幕尺寸。


·流体宽度


·雷姆单位


·移动优先


5、自定义可重用CSS组件


与其依赖大型的CSS框架(如Bootstrap),不如创建自己的模块化,可重用的CSS组件以在项目中使用。如果您构建自己的定制设计,则无需导入完整的库。您创建只需要特定UI的组件。的新趋势最近还出现了有助于更有效地编写CSS代码的代码。如果你已经了解CSS,那么您无需在学习Saas上花费很多精力。Saas是CSS预处理程序,可为标准CSS添加更多功能并使其更加高效。你可以使用变量,嵌套,条件语句来减少CSS的重复并提高其效率。你还可以为每个可重用组件创建单独的Saas文件。Sass确实节省了很多时间,所以你绝对应该在2020年学习它。


6、CSS框架


学习CSS框架的普及程度不如去年,但对于不擅长设计的开发人员而言,仍然非常相关或有用。有许多流行的CSS框架可供使用,其中一些如下。


·Bootstrap是最流行的CSS框架。学习引导程序也有助于学习其他框架。


·Tailwind
CSS是其他正在流行的框架,与其他框架几乎没有什么不同。它是一组实用程序类,因此您可以创建自己的按钮和其他看起来与其他按钮确实不同的东西。它们也是高度可定制的。


·物化


·布尔玛


7、前端必须语言:JavaScript


学习HTML和CSS之后,接下来需要学习的是Vanilla
Javascript。对开发人员来说,掌握javascript基本知识非常重要。您将在服务器端语言(例如PHP,Python或#)中使用大量javascript,并且如果您想与React,Angular,NodeJS,Vue或任何其他javascript框架或库一起使用,则非常需要学习这种语言。以下是你应该在javascript中涵盖的一些重要主题


·JavaScript基础知识(变量,数据类型,函数,条件等)


·DOM(文档对象模型)


·JSON(JavaScript对象表示法)


·提取API(请求/响应/Ajax)


·如果您想转向React,Vue,Angular或其他框架,现代JS(ES6)概念对于学习非常重要。


8、一些重要工具


Web开发中将使用一些工具。这些工具将帮助你进行调试,提高生产率,管理代码,与其他开发人员合作以及类似的东西。让我们讨论其中一些工具。


·
Git(版本控制)和Github是您肯定会在2020年学习的最受欢迎的工具。Git在与其他开发人员协作和管理代码方面有很多帮助。您还可以选择其他一些选项,例如GitLab,Bitbucket和其他一些选项。


·
了解如何使用浏览器开发工具。无论是chrome还是firefox,您都应该知道如何使用不同的选项卡,例如元素选项卡,javascript控制台,用于请求和响应的网络选项卡,应用程序选项卡以及其他用于不同目的的选项卡。


·大多数IDE或文本编辑器都具有添加扩展名或插件的功能,这对提高生产力和构建Web应用程序非常有帮助。例如,Visual
Studio代码中的VSCode扩展可帮助下载扩展,例如实时服务器或实时saas编译器以与React一起使用。


·Emmet是另一个很棒的工具,它允许您编写非常快速的HTML和CSS,这有助于提高开发人员的生产力。


·
学习使用javascript软件包管理器,例如NPM和Yarn。如果您正在使用Javascript框架或库(例如React),那么这些软件包管理器将使用很多,但是对于其他语言(例如Python或Php),您将使用不同的软件包管理器。


·
如果要在前端安装NPM软件包,则必须使用Webpack或Parcel。如果要创建自己的模块,或者要将一个javascript文件带到另一个javascript文件,则默认情况下不能仅使用浏览器来执行此操作,因此需要Webpack或Parcel对其进行捆绑。


9、基本部署


此时,一旦你知道应该为前端开发学习什么工具或技术,就需要知道如何在Internet上部署前端网站。如果你正在为小型企业构建一些小型应用程序,登录页面或个人站点,则无需学习AWS或DevOps,仅因为它们具有光泽和新潮。你将使事情变得更加复杂而不是简单。你需要在2020年学习一些部署工具和步骤。


·域注册(Namecheap,Google等)


·托管托管(InMotion,Hostgator,Bluehost等)


·静态主机(Netlify,Github页面)


·SSL证书。


·FTP,SFTP(文件传输协议)非常适合小型应用程序。


·SSH(安全外壳),用于高级应用程序。


·CLI和Git。


到目前为止,我们讨论的任何工具,技术趋势或步骤都是前端开发的一部分。您尚不知道该框架,但可以为个人和小型企业构建网站,也可以构建适合移动设备的布局。您还可以使用到目前为止讨论的工具或技术来部署小型应用程序或项目。如果您想申请工作,那么学习一些前端框架(如React,Vue或Angular)将是很棒的。


10、前端框架和状态管理


框架使您可以进行更高级的前端开发。框架为您提供了许多优势,例如可重用的组件,更有条理的UI或页面交互。这对于协作更好,也有助于编写简洁的代码。另外,了解状态管理。每个框架都有不同的方法。以下是2020年的一些流行框架和状态管理器。


·React:React库是最流行的Web开发学习方法,与其他框架和库相比,它相当容易。React开发人员还有很多工作要做。您可以将Rex和
ContextAPI与Hooks一起使用以进行状态管理。


·Vue:
Vue也越来越受欢迎,开发人员也更喜欢学习Vue。与React和Angular相比,Vue最容易学习。VueX是为视图而构建的状态管理器。


·Angular:此框架通常在大型组织中使用。它具有相当陡峭的学习曲线。用Angular学习
TypeScript也很好。它允许您使用可选的静态类型并支持ES2015的功能。NGRX和Services是可以学习此框架的良好状态管理器。


可选学习:


·
如果您具有这三个框架之一的知识,那么您还可以使用Svelte,它是一个JavaScript编译器,可让您生成纯净的原始JS代码并帮助您轻松构建用户界面。


·
了解服务器端渲染。NextJS(React)和NuxtJS(Vue)是允许您在服务器上运行React和Vue的框架。两者都有很好的功能,例如更好的SEO,文件系统路由,自动代码拆分,静态导出,JS中的CSS和许多其他功能。


·静态网站生成器:Gatsby(反应式)和Gridsome(Vue)


我们已经讨论了所有大多数前端开发工具和技术。现在让我们讨论成为后端开发人员或全栈开发人员的语言和技术。


11、服务器端语言(选择一种)


您应该至少了解一种服务器端语言。要在2020年选择一种语言,下面提供了一些选项...


·NodeJS(不是语言,而是运行时环境)


·Python(非常适合初学者)


·Java(适合大型组织)


·Php(适合自由职业)


·Ruby(2020年少两极)


·C#


·Go


注意:无论你喜欢学习哪种服务器端语言,都要确保你了解使用该语言的数据结构和算法。数据结构和算法将帮助您为用户呈现数据,并将帮助您优化Web应用程序中的代码。我们特别建议您专注于使用数组和字符串(最重要)。你将同时使用这两种方法。


12、服务器端框架(选择一项)


一旦学习了自己选择的一种服务器端语言,就可以使用其中一种语言框架。您可以选择以下给出的选项之一...


·Node.js_Express,Koa,Adonis,Feather.js,Nest.js


·Python:Django,Flask,


·Java:SpringMVC,Grails


·PHP:Laravel,Symfony,Codeignitor,Slim


·Ruby:Sinatra上的RubyonRails


·C#:ASP.NETMVC


·Go:Revel


13、数据库(选择一项)


大多数Web应用程序都需要一个存储数据的地方。在某些情况下,某些技术或某些语言可以与某些数据库配合使用。例如:在Mern堆栈中,M代表MongoDB,而在LAMP堆栈中M代表MySQL,但完全取决于您要为应用程序选择哪个数据库。我们将讨论2020年一些流行的数据库。


·关系数据库:RDBMS仍然是最受欢迎的数据库。最喜欢使用PostgreSQL,MySQL,MSSQL。


·NoSQL:MongoDB,RethinkDB,CouchDB


·云数据库:Firebase,AzureCouldDB,AWS


·轻量级和缓存:Redis,SQLlite,NeDB


在学习数据库时,您还将学习RDBMS,ORM(对象关系映射器)或ODM(对象数据映射器)的SQL(结构化查询语言)。GraphQL
:(可选)您可以了解现在流行的GraphQL。这是API的查询语言。它具有类似于JSON的简单语法,并且相当容易实现。


14、CMS:内容管理


您绝对应该了解内容管理系统,尤其是如果您是自由职业者。CMS用于将内容添加到您的网站或应用程序。客户能够更新自己的内容非常好。


·
传统CMS:WordPress(PHP),Drupal(PHP),Keystone(Javascript),Enro(Javascript)


·其他CMS:DEDECMS,帝国CMS,PHPcms,Prismic.io,Strati。


15、部署和DevOps


托管全栈应用程序或后端应用程序比仅前端应用程序要复杂一些,尤其是当您拥有数据库时。确保您知道如何使用CLI进行部署。了解有关用于部署应用程序的以下内容。


在大多数公司中,有不同的团队从事DevOps的工作。因此,拥有有关DevOps的知识完全是可选的。您可以了解到,如果您正在从事自己的项目。


·SSH(安全外壳)


·Web服务器环境:NGINX,Apache


·应用程序托管:Linode,Heroku,AWS,Azure,Now。


·虚拟化:Docker,Vagrant


·测试:单元,功能,集成等


·负载平衡,监视,安全性。


以上就是小编今天为大家分享的关于Web前端开发工程师入门必备指南。以上所有技术工具都足以使您成为前端,后端或全栈开发人员。根据最终目标选择正确的工具和技术。想要了解更多Web前端相关知识记得关注北大青鸟Web培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的Web前端工程师!


英文|#/how-to-become-a-Web-developer-in-2020-a-complete-guide/翻译|Web前端开发(ID:Web_qdkf)


10. 现在前端框架什么最火

第一阶段:库/框架选型 前端工程建设的第一项任务就是根据项目特征进行技术选型。 基本上现在没有人完全从0开始做网站,哪怕是政府项目用个jquery都很正常吧,React/Angularjs等框架横空出世,解放了不少生产力,合理的技术选型可以为项目节省许...