为什么 Web 开发人员需要学习一个 JavaScript 框架?

简介: 为什么 Web 开发人员需要学习一个 JavaScript 框架?

可能当我们结束本文时,一个新的 Javascript 框架已经在某处启动了。但这确实不在我们的控制范围内。因此,我们应该简单地继续我们所拥有的。至少,由于免责声明,我们可以确定我们不是在发明新框架。


曾几何时,编写有效的前端代码意味着您必须很好地理解 HTML、CSS 和 JavaScript 如何融合在一起来创建网页。好吧,幸运的是,即使在今天,这也几乎是正确的。然而,在过去的十年中,Javascript 领域出现了爆炸式增长。由于这个原因,开发人员一直在挠头,只是弄清楚他们应该知道什么才能构建有效的 Web 应用程序。


在这篇文章中,我们将尝试解开现代 Javascript 景观的一些方面。如果您想成为一名专业的前端开发人员,我们还将研究您可能应该学习的内容。但在我们这样做之前,让我们从头开始。


JavaScript 是如何工作的?

当客户端或浏览器访问 HTML 页面时,服务器会发回 HTML 标记。 浏览器接收它并解释标记以构造 DOM 或文档对象模型。 JavaScript 具有与 DOM 交互、修改和使其具有交互性的能力。 通常,JavaScript 使用脚本标签包含在您的 DOM 中。


现在,问题是 JavaScript 执行阻塞了 DOM。 这意味着用户无法与网页进行太多交互。 换句话说,JavaScript 执行的时间越长,您的 Web 应用程序的响应速度就越慢。 这就是 AJAX 或异步 JavaScript 和 XML 的用武之地。大多数闪亮的新 JavaScript 框架也用它来。


为什么要使用框架?

完全可以在不使用任何框架的情况下构建 Web 应用程序。但现代 JavaScript 版图发展如此之快并非没有原因。在过去的十年中,很明显,使用纯 JavaScript 编写复杂的应用程序极其复杂。


现代 JavaScript 框架的目标是减少构建交互式和用户友好的 Web 应用程序所需的繁琐和重复工作量。可以说,无论语言如何,大多数框架都试图做同样的事情。但是,其他编程语言可能没有那么多框架。另一方面,现代 JavaScript 领域实际上有数百个框架和库。这些库或框架中的每一个都试图解决一组特定的问题。


然而,大多数主要框架都试图解决一个常见的用例:如何构建能够支持复杂用户交互并在前端或客户端管理应用程序状态和业务逻辑的单页 Web 应用程序。


简而言之,单页应用程序或 SPA 是可以在客户端上运行而无需不断重新加载页面的 Web 应用程序。


Steps to Conquer the Modern JavaScript Landscape

让我们假设您是一个完整的新手。 你想开始学习前端开发并有一天成为一名专业人士。


你必须学习很多! 没有其他方法可以表达它。 当然,这是一段漫长而曲折的旅程。


但是,为了简单起见,我将旅程分为几个阶段。 这些阶段可以帮助您掌握现代 JavaScript 环境。


第一阶段

学习 HTML

无论您使用什么框架,HTML 和 CSS 几乎总是存在。 所以不要试图绕过它们。 您应该学习如何创建 HTML 页面,现在将页面划分为多个部分。 专注于适当的结构,暂时不要担心页面美化部分。


学习 CSS

CSS 或层叠样式表为丑陋的 HTML 页面增添了美感。 尽可能多地学习。 它很大,有很多选择,你总能找到新的东西。 如果你想要一个列表,那么学习 CSS 网格布局、Flexbox、媒体查询和响应式 CSS。 这些东西将帮助您进行认真的 Web 开发。 另外,我建议至少学习一个 CSS 框架。 如果您不确定要选择什么,我会推荐 Bootstrap。 它将帮助您使用较少的 CSS 和一些好的设计模式构建专业的 Web 应用程序。


学习 JavaScript 基础

考虑到一旦开始使用框架就不会编写普通的 JavaScript,这听起来可能有悖常理。 但是,学习基础知识将使您以后受益匪浅。 此时,您可能会遇到一种叫做 jQuery 的东西。


但是冒着疏远社区中某些开发人员的风险,我建议您只有在有大量时间的情况下才学习它。 jQuery(一个使 DOM 操作更容易的库)曾经统治着 JavaScript 世界。 但是,现在它在新项目中的使用率并不高,对于您的时间来说可能没有那么多的附加值。


现在,无论您将来做什么,第 1 阶段都将相同。 如果你走到这一步,你应该为成功而拍拍自己的背,并反省你是否想继续。


第二阶段

学习 git 基础

现在,虽然这不是学习 JavaScript 的强制性要求,但这将帮助您向其他开发人员和 GitHub 等网站上可用的社区学习。 您还可以将您的源代码放在 GitHub 上供所有人查看并围绕您自己的工作建立一个社区。


学习一个包管理器

任何严肃的现代 JavaScript 框架都至少需要了解一些包管理器。 包管理器只是管理应用程序将使用的各种依赖项的一种方式。 不幸的是,普通的 JavaScript 并没有很多库,但是由于开发人员发布了各种库和包,整个生态系统得到了极大的发展。 包管理器帮助我们利用所有这些代码,这样我们就不必编写已经存在的东西。


如果你只有时间学习一个,我会推荐 npm 或节点包管理器。 npm 是最大和使用最广泛的包管理器; 你可以在这里探索。


另一种选择是 Yarn——如果你了解一个包管理器,你就不会发现学习其他包管理器非常困难。


做出选择 - 学习哪一个 JavaScript 框架?

有很多,但为了便于讨论,我将列出三个主要的。没有特定的顺序,它们是 React、Angular 和 Vue。


React 是 Facebook 构建的 JavaScript 库。该库可用于创建交互式 UI。简单地基于数字,React 是当今开发人员中最受欢迎的,因为 React 非常容易学习。但是,如果您开始将 Redux 之类的高级东西混入其中,则很难掌握。


Angular 是一个 JavaScript 框架(或平台),可用于构建 Web 应用程序。如果将 Angular 与 React 进行比较,就可以说它是一只 1000 磅的大猩猩。对于新手来说,这可能会让人不知所措,但是一旦您通过了最初的学习曲线,您就会发现自己处于平流层中,感到头晕目眩。顺便说一下,Angular 是由 Google 构建和维护的,因此您可以判断其质量。


Vue 是另一个流行的框架,它显然试图在 React 和 Angular 之间找到中间线。除非您有一个只能通过 Vue 解决的非常具体的需求,否则我建议您使用 Angular 或 React。


话虽如此,我通常不喜欢支持一个框架而不是另一个。一名优秀的开发人员可以根据问题选择框架或工具集。 React 和 Angular 都可以做任何事情,但它们在某些事情上做得比其他事情好。例如,Angular 中的表单处理非常出色,对于在填写内容方面具有大量用户交互的企业应用程序来说非常有用。另一方面,如果你有一个非常动态的 DOM 并且想要基于用户交互进行大量操作,React 是非常棒的。


在我看来,我建议如果您有时间,您应该尝试同时学习两者。它会打开你的视野,让你成为更好的前端开发人员。


第三阶段

如果你已经达到了这一点,你就已经走得很远了。你应该为自己感到自豪。


然而,旅程并没有结束。


正如我们之前谈到的,现代 JavaScript 环境正在迅速发展。如果 Web 开发人员想保持相关性,他们也应该这样做。甚至框架也在迅速发展。谷歌每年发布两次具有新功能的新 Angular 版本。 React 生态系统正在迅速扩展。还有其他框架正在出现,谁知道其中一些是否会变得更加流行。


所以应该继续学习。您可以查看的一些内容是:


渐进式 Web 应用程序使 Web 应用程序像原生移动应用程序一样工作。

工具框架,如 Webpack 和 Babel。

ES6、ES7 语法

各种测试框架,如 Jest、Karma 和 Mocha。

如果您对使用 JavaScript 构建移动应用程序感兴趣,您可以研究 React Native、Flutter 等。

使用 SPA 框架的服务器端渲染。

祝您学习愉快!


相关文章
|
5天前
|
开发框架 JSON API
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
【7月更文挑战第22天】在Python Web开发中,设计高效的RESTful API涉及选择框架(如Flask或Django)、明确资源及使用HTTP方法(GET, POST, PUT, DELETE)来操作数据。响应格式通常是JSON,错误处理也很重要。示例展示了使用Flask创建图书管理API,包括版本控制、文档化、安全性和性能优化是最佳实践。这样的API使数据交互更顺畅。
26 2
|
3天前
|
JSON API 网络架构
揭秘!Python Web框架下的RESTful API设计,为何成为互联网新宠?
【7月更文挑战第24天】在互联网快速发展背景下,RESTful API以其简洁性和可扩展性成为应用间通信的首选。REST强调资源为核心,利用HTTP方法处理CRUD操作,促进前后端分离,提高开发效率。Python的Flask框架支持轻松构建RESTful API,通过路由、请求和响应机制实现。示例代码展示了如何使用Flask创建、读取和更新用户信息。Python Web框架因其丰富的工具和库,简化RESTful API开发,适应微服务架构需求,在互联网发展中扮演重要角色。
|
4天前
|
开发框架 JavaScript 前端开发
JavaScript框架比较与选择:技术深度剖析
【7月更文挑战第23天】选择正确的JavaScript框架是项目成功的关键。React.js、Vue.js、Angular和Svelte等前端框架各有千秋,分别适用于不同的项目需求。同时,Node.js及其后端框架为服务器端开发提供了强大的支持。开发人员应根据项目的复杂性、性能要求、开发周期以及团队技能等因素综合考虑,选择最适合的框架。随着技术的不断发展,未来还将涌现更多优秀的JavaScript框架,为开发者带来更多选择和可能性。
|
6天前
|
移动开发 小程序 JavaScript
转Web运行时的“框架”模块主要负责什么功能
转Web运行时的“框架”模块主要负责什么功能
|
8天前
|
JSON 中间件 数据处理
实践出真知:通过项目学习Python Web框架的路由与中间件设计
【7月更文挑战第19天】探索Python Web开发,掌握Flask或Django的关键在于理解路由和中间件。路由连接URL与功能,如Flask中@app.route()定义请求响应路径。中间件在请求处理前后执行,提供扩展功能,如日志、认证。通过实践项目,不仅学习理论,还能提升构建高效Web应用的能力。示例代码展示路由定义及模拟中间件行为,强调动手实践的重要性。
|
6天前
|
API 网络架构 开发者
探索Python Web框架的核心:路由机制详解
【7月更文挑战第21天】Python Web开发中,Flask和Django的路由机制解析:Flask用@app.route装饰器绑定URL到视图,如`@app.route('/user/<username>')`;Django通过urls.py配置URL模式,如`path('user/<str:username>/', views.user_profile, name='user_profile')`。两者都支持静态、动态路由和HTTP方法绑定,展现路由灵活性,助力构建高效Web应用。
15 0
|
6天前
|
缓存 监控 安全
中间件在Python Web框架中的角色与应用场景
【7月更文挑战第21天】中间件在Python Web开发中作为服务器与应用间的软件层,拦截、处理请求和响应,无需改动应用代码。它扩展框架功能,复用跨应用逻辑,加强安全,优化性能。如Django中间件处理请求/响应,Flask通过WSGI中间件实现类似功能,两者均在不触及核心代码前提下,灵活增强应用行为,是现代Web开发关键组件。
|
7天前
|
前端开发 开发者 Python
从零到一:Python Web框架中的模板引擎入门与进阶
【7月更文挑战第20天】模板引擎如Jinja2在Python Web开发中连接后端与前端,提高代码可读性和协作效率。Flask默认集成Jinja2,提供条件语句、循环、宏和模板继承等功能。例如,创建一个简单Flask应用,渲染"Hello, World!",并展示如何使用条件语句和循环处理数据。通过宏定义重用代码,模板继承实现页面结构共享。学习模板引擎能提升开发效率和项目质量。
17 0
|
7天前
|
中间件 数据库 开发者
解析Python Web框架的四大支柱:模板、ORM、中间件与路由
【7月更文挑战第20天】Python Web框架如Django、Flask、FastAPI的核心包括模板(如Django的DTL和Flask的Jinja2)、ORM(Django的内置ORM与Flask的SQLAlchemy)、中间件(Django的全局中间件与Flask的装饰器实现)和路由(Django的urls.py配置与Flask的@app.route()装饰器)。这些组件提升了代码组织和数据库操作的便捷性,确保了Web应用的稳定性和可扩展性。
|
8天前
|
中间件 API 开发者
深入理解Python Web框架:中间件的工作原理与应用策略
【7月更文挑战第19天】Python Web中间件摘要:**中间件是扩展框架功能的关键组件,它拦截并处理请求与响应。在Flask中,通过`before_request`和`after_request`装饰器模拟中间件行为;Django则有官方中间件系统,需实现如`process_request`和`process_response`等方法。中间件用于日志、验证等场景,但应考虑性能、执行顺序、错误处理和代码可维护性。
21 0