全栈工程师的武器——MEAN

简介: JavaScript自1995年发布以来,走过了漫长的道路。已经有了几个主要版本的ECMAScript规范,单页Web应用程序也慢慢兴起,还有支持客户端的JavaScript框架。作为一个被绝大多数浏览器支持前台脚本语言,它对浏览器的创新做出了很大的贡献。JavaScript许多很有用的特点(它是无阻塞是,它是事件驱动的,很多程序员熟悉它)可以在浏览器之外的环境中加以利用。这推动了JavaScript社区新一轮的创新,让JavaScript能在服务器和数据库中运行。

JavaScript自1995年发布以来,走过了漫长的道路。已经有了几个主要版本的ECMAScript规范,单页Web应用程序也慢慢兴起,还有支持客户端的JavaScript框架。作为一个被绝大多数浏览器支持前台脚本语言,它对浏览器的创新做出了很大的贡献。JavaScript许多很有用的特点(它是无阻塞是,它是事件驱动的,很多程序员熟悉它)可以在浏览器之外的环境中加以利用。这推动了JavaScript社区新一轮的创新,让JavaScript能在服务器和数据库中运行。


一下子,JavaScript工程师认为自己不只是“Web前端开发者”了。如果你对语言很熟悉,就可以自己搭建服务器和数据库。除了交互设计,开发者可以只用JavaScript就能做出一个完整的web应用,这在JavaScript史上是第一次。这种趋势被称为“全栈的JavaScript”或“纯JavaScript的解决方案”。它包含了JavaScript的四种流行技术:MongoDBExpressAngularJS、和 Node.js。这四种技术越来越流行,它们合称为MEAN Stack

image.png

MongoDB

MongoDB也就是常说的NoSQL数据库。可以认为它是文档结构的数据库,而不是由行、列、表组成的数据库。基本的用法是存储JSON数据,这很适合JavaScript程序。它是非关系型、非事务要求严格的系统,所以它很快、可扩展性和易用性强。


Express

Express是一个小型的web服务器框架,能使Node开发的web服务器更易开发和维护。Express有很高的定制性,它能简单快速地使用路由请求、cookie管理、一个静态文件服务器和很多企业级网络服务器所需要HTTP模块。


AngularJS

Angular是一个功能丰富的客户端MVC JavaScript框架。它可用于开发复杂的单页Web应用程序。它具有内置的双向数据绑定功能和它自己的基于HTML的模板。它有个特性称为“directives”,允许开发者给HTML拓展新属性、新元素。Angular也是高度可测试的,这是很重要的。Angular为开发客户端提供了公约和最佳解决方案。


Node

Node基于JavaScript,用于建立服务器和网络应用。它提供所有JavaScript的特性,并外加文件操作、网络I/O的功能。它使用谷歌的V8引擎(与谷歌浏览器中使用的相同)来执行JavaScript。它拥有很活跃的开发者社区和Node模块生态圈(Express是其中一个模块)。虽有JavaScript有其他实现服务器端的方法,但Node是目前个人级和企业级最好的开发方案。

如果你是JavaScript的粉丝,你应该会对只用JavaScript就能开发一个完整的web应用感到兴奋。MEAN Stack是一个很热门的话题,网上有很多关于学习它们的讨论,可以去尝试学习一下。

英文原文 Full Stack JavaScript Development With MEAN

SegmentFault整理编译

相关文章
|
9月前
|
开发框架 安全 Java
C#
C#诞生于微软.NET战略,历经二十余年演进,从企业应用到Unity游戏开发、跨平台移动与云端服务,凭借简洁语法、强类型安全与持续创新,成为全栈开发利器。如今开源跨平台,迈向更高效、现代化的未来。
765 139
|
7月前
|
JavaScript 前端开发 算法
React框架
React 是一个用于构建用户界面的 JavaScript 库,核心优势包括虚拟 DOM、组件化开发、服务端渲染支持及优秀的性能优化机制。配合 Redux 可实现状态集中管理,其三大核心为 action、reducer 和 store,强调不可变数据与纯函数。虚拟 DOM 与 Diff 算法结合,通过同层比较和 key 机制最小化 DOM 操作,提升渲染效率。React 支持函数组件与类组件,推崇展示组件与容器组件分离,便于维护。与 Vue 相比,React 更灵活但需手动优化更新,且依赖 JSX。整体设计思想融合函数式编程,强调可预测的状态管理和高效 UI 更新。
|
10月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
11月前
OBS美颜美肌插件安装使用教程
软件是不自带美颜插件的,可以安装OBS-Studio-29.1.3安装包,就自带美颜功能的插件。在OBS软件【插件中心】菜单下,打开【打开插件中心】,安装美颜摄像头注册即可。在OBS软件【停靠窗口】菜单下,打开【美颜参数控制面板】的美颜窗口。插件里面有自带教程,可以自行学习。
1983 2
|
云安全 运维 安全
云安全产品助力客户构建降本与增效的平衡体系
本次分享由阿里云智能集团安全产品专家王忠雨主讲,主题为“云安全产品助力客户构建降本与增效的平衡体系”。内容涵盖企业降本增效的背景、挑战及解决方案。通过合理使用云安全产品资源,如跨云、跨账号和跨地域的统一管理,实现资源利用率提升和成本降低。同时,自动化运维和智能化运营的最佳实践,如WAF智能白名单和云防火墙策略梳理,进一步提高了管理效率。最后介绍了云安全产品的售卖逻辑优化,如弹性付费和阶梯价格,帮助客户在不同场景下灵活控制成本。
343 0
|
数据挖掘 Python
Pandas实战(1):电商购物用户行为数据分析
Pandas实战(1):电商购物用户行为数据分析
1176 1
|
弹性计算 供应链 并行计算
阿里云ECS服务器五种计费模式有啥区别?包年包月、按量付费、抢占式实例、节省计划和预留实例券
阿里云服务器计费多样化:包年包月适合长期稳定服务,如Web网站;按量付费适合短期或波动需求,如测试、扩展;抢占式实例享折扣但可能被释放,适合无状态任务;预留实例券抵扣按量付费账单;节省计划提供资源使用承诺的折扣,适用于用量稳定的业务。
808 7
|
网络协议
计网 - TCP四次挥手原理全曝光:深度解析与实战演示
计网 - TCP四次挥手原理全曝光:深度解析与实战演示
477 0
|
Linux 网络安全
【Linux】crontab 定时任务
【Linux】crontab 定时任务
683 0
|
编解码 JavaScript
vue 项目的屏幕自适应方案
vue 项目的屏幕自适应方案
1459 0