全栈 JavaScript 程序员的崛起

简介:

JavaScript 无处不在

在以前,JavaScript程序员就是前端开发者的同义词,永远与浏览器绑在一起。
但那已是昨日往事。Node.js的崛起开启了一个新纪元,从此,JavaScript 程序员可能不再是被局限于浏览器的前端开发者了。

相比其他高级程序语言,作为一名 JavaScript 程序员,你可以在更多的平台上发挥才能。但是现在让我们将目光放在两大主流领域上:浏览器和服务端。

为什么我非要在这两者中做出选择呢?

做为一名全栈 WEB 开发人员需要面对的问题

有句古话说得好:”什么都懂但没有一样通“, 每次花时间探索新的领域,你都是在浪费足以让自己成为某一领域专家的时间。

“假如我被困荒岛,唯一能够获救的方法是做出一套漂亮的用户界面,我将毫无疑问的死在岛上” —— Linus Torvalds,Linux 的创始人

成为全栈开发者最大的风险就是在前后端都表现平庸,这比只擅长一种而对另一种全然不知更糟。

在愤世嫉俗的人眼中,全栈开发者是“一帮将bug引入软件栈每一层的家伙”。

原因是开发技术一直在发展。我们面对的问题变得越来越复杂,解决这些问题的技术自然需要发展。几年前,学习 JavaScript 只需要掌握经典的 ES6就够了,但今天,如果从零开始,我需要掌握同时 ES3和ES2015(ES6)。了解最前沿牛逼的技术不等于说我就可以不顾基础了。

全栈记

每一种开发技术栈都有属于自己的小世界。

每一种语言都有自己的 WEB 开发框架。Python 有 Django,Ruby 有 Ruby on Rails。

还有,每一种技术栈都有自己的包管理器,工具库和独特的语言结构,在这些栈背后是一群充满热情的人,他们可能是博客作者、企业开发人员或者是开源软件贡献值。

每一种技术栈都有自己的长处和弱点。

比较不同的技术栈是没有意义的

一旦你决定要成为全栈开发者,你将不可避免的在两种技术栈中徘徊。一种是你深爱的,为之充满激情。另一种便是 JavaScript。

一些人之所以如此讨厌 JavaScript,部分原因是他们没有选择的权利,只能被 JavaScript 选择。

当 WEB 开发者想写一些前端代码的时候,同时又不希望使用恼人的插件,JavaScript 就成了唯一的选择。

有人尝试过创造一种语言去取代 JavaScript,但最终编译出来的 JavaScript 代码质量往往不尽人意。作为它们中的一员,我不方便指出(CoffeeScript),被71%的开发人员所畏惧!简直是要超越 wordpress 的节奏。

无论如何,JavaScript 统治着浏览器, 是浏览器唯一愿说的语言。

有不少非常聪明的男性和女性尝试让浏览器说不同的语言,结果是不少非常聪明的男性和女性都失败了。

食古不化的浏览器。

JavaScript 的优势

让我们换一种角度来看事物。
如果说你深爱的,为之充满激情的技术栈就是 JavaScript 栈呢?

如果是你拥有 JavaScript,而不是它拥有你

如果你选择 Node.js 作为后端开发框架, 你将获得其他技术栈开发者梦寐以求的一些优势。

选择 Node.js, 你就选择了统一而不是分散你的技术栈,你选择至始至终地使用 JavaScript。

你不用再去寻找 Ruby 或者 Python中的Lodash工具库,直接使用Lodash就是了。当然,你可能说pip install和bundle install用着还挺顺手,但最后你还是得解决 JavaScript 的依赖关系。

但如果你选择 Node.js,你可以使用npm install安装所有的东西,无论是在客户端还是服务端。

代码重用率那叫一个高,如果你发现自己正在实现一个左侧字符填充功能,你只需要写一次就行了,在一种语言中,而不是两种。

如果你跟随 Universal JavaScript的脚本,你可以写出一个可以同时在客户端和服务端跑的 web 应用。

如你所见,选择全栈 JavaScript 的好处是巨大的。很多时候,当你在编写前端代码时,你会发现一些知识同样适用于后端,反之亦然。

尽管全栈 JavaScript 开发者的日子要比其他全栈开发者好过得多,但你仍需要掌握前后端领域的专业知识。Node.js 和浏览器都说 JavaScript 一门语言,但编写运行在浏览器中的前端代码和跑在服务器上的后端代码还是有很大不同。

那么,作为一名全栈 JavaScript 开发者,是不是就必须不断地工作在前后端?

70/30原则

有人说并没有所谓的全栈 WEB 开发者,你要么是面向前端的,要么是面向后端的,必须做出选择。

我对此表示理解

一名在前后端分别精确投入50%的开发者就像是谜一样的生物,传说中的小妖精。

你在想着小妖精能实现你所有的愿望并给你一壶金子,结果发现小妖精根本不存在。你只是喝醉了,在和一个穿着绿色外套的侏儒说话。

真相是全栈开发者,要么是面向前端的,要么是面向后端的

明白自己属于哪一种对你只会有好处。意识到自己是更偏前端的全栈开发者并不妨碍你同时擅长后端技术,只不过你会自然的投入更多精力去打磨前端能力。

所以我推荐 70/30 原则

如果需要花一年的时间实现一些功能,同时你可以选择实现哪些功能,将70%的时间用在自己倾向的技术栈领域,剩下的30%投入到其他开发工作中。

你供职的公司可能不鼓励全栈开发,如果在公司只能做后端开发,为什么不自己做一个前端的个人项目呢?没有什么东西是一成不变的,今年还是倾向后端的 开发者明年就可能倾向前端。我想说的是,给自己一个准确的定位,合理安排时间。如果你是一位倾向前端的全栈开发者,将重心放在打磨自己的前端开发能力上, 同时留30%给后端,确保不被落下。

事实上,你完全可以成为一名前后端都牛逼的全栈开发者,只要你愿意。

做一名全栈 JavaScript 开发者的乐趣

在近期 Stackoverflow 的一次调查中,绝大部分的开发者都把自己定义为全栈WEB开发者。同时,有85.3%的开发者多少懂一点 JavaScript。

是什么原因让全栈开发者变得如此流行?市场选择,不愿意在前端和后端之中做出选择,还是全栈开发者那不可否认的性感魅力?

我想答案其实很简单

全栈开发乐趣多

作为一名开发者,最棒的事之一就是一人独立操办前后端带来的满足感

从你创建的用户界面发出数据,在用自己创建的 API 接收,然后保存或者处理这些数据。看着其他人使用你创建的功能,从前端到后端,是一种难以描述的美妙体验。你不禁会想“我创造了它,在这之前这是不可能的,但现在却因为我成为了可能”。

属于全栈 JavaScript 开发者的新篇章

JavaScript 的生态系统一直在发展,从最初的浏览器到后来的服务端,今天我们甚至走得更远。移动应用、Bot Frameworks、物联网、3D 游戏甚至是虚拟现实都可以采用 JavaScript进行开发。

作为全栈 JavaScript 开发者,我们得保证至少精通一个领域。同时,软件开发的大门始终是敞开的,你可以对各种流行技术和前沿科技进行探索,且不用担心忽略了自己的 JavaScript 技能。作为全栈开发者的一个最大好处就是能持续地学习新事物,将其内化并掌握。

JavaScript 就是你的画布,把它变漂亮吧!

**文章转载自 开源中国社区[http://www.oschina.net]
**

相关文章
|
1月前
|
前端开发 JavaScript 关系型数据库
前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用
这篇文章介绍了一个名为Vue3Admin的全栈后台应用,前端基于SoybeanAdmin二次开发,后端基于Nest.js。主要使用了Vue3.5、AntDesignVue、UnoCSS、Pinia等前端技术栈,以及Nest.js、PostgreSQL、Prisma等后端技术栈。文章详细描述了系统的功能设计,包括动态国际化语言配置、登录用户操作日志、用户和角色权限映射、动态路由菜单、消息公告发布及前端业务功能等。同时,也提供了项目运行所需的环境和依赖,以及如何拉取代码、安装依赖和启动项目的方法。最后,文章展示了项目的演示图,并对项目进行了总结,指出项目未经严格测试,仅供学习交流使用。
前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用
|
17天前
|
JavaScript 前端开发 安全
探索Deno:现代JavaScript/TypeScript运行时的崛起
【10月更文挑战第17天】Deno是由Node.js创始人Ryan Dahl发起的现代JavaScript/TypeScript运行时,强调安全性、TypeScript原生支持、统一的运行时环境和现代HTTP客户端。本文深入探讨了Deno的特性、优势及其在业界的应用,展示了它如何提升开发效率和代码安全性。
|
1月前
|
消息中间件 JavaScript 前端开发
用于全栈数据流的 JavaScript、Node.js 和 Apache Kafka
用于全栈数据流的 JavaScript、Node.js 和 Apache Kafka
40 1
|
23天前
|
前端开发 JavaScript 程序员
【从前端入门到全栈】Node.js 之核心概念
【从前端入门到全栈】Node.js 之核心概念
|
3月前
|
存储 JavaScript 前端开发
后端程序员的前端基础-前端三剑客之JavaScript
后端程序员的前端基础-前端三剑客之JavaScript
30 4
|
3月前
|
前端开发 JavaScript 测试技术
构建与部署全栈JavaScript应用:从构思到上线的完整指南
【8月更文挑战第9天】构建和部署一个全栈JavaScript应用是一个复杂但充满挑战的过程。从需求分析到项目上线,每一步都需要精心策划和严格执行。通过本文的指南,希望能帮助你更好地理解和掌握全栈JavaScript应用的开发流程,从而打造出高性能、高可用、易维护的应用。
|
3月前
|
JavaScript 前端开发 API
全栈开发革命来临!Vue.js与Node.js联手,打造前后端无缝对接的奇迹之作!
【8月更文挑战第30天】在Web开发领域,前后端分离与协作至关重要。Vue.js以其轻量级和易用性深受前端开发者喜爱,而Node.js则以高性能和事件驱动特性在后端领域崭露头角。二者结合开启了全栈开发新篇章,通过RESTful API或GraphQL实现高效稳定通信。本文以示例说明如何使用Vue.js和Node.js构建全栈应用,从前端Vue组件到后端Express服务器,展示了数据获取与展示的全过程。这种组合提供了一种高效简洁的全栈开发方案,使开发者能更专注于业务逻辑实现。
213 0
|
3月前
|
JavaScript 前端开发 程序员
程序员必看:利用JavaScript的算术运算符大幅提升代码效率?
程序员必看:利用JavaScript的算术运算符大幅提升代码效率?
|
5月前
|
缓存 JavaScript 前端开发
老程序员分享:js刷新页面得重新加载和页面的刷新
老程序员分享:js刷新页面得重新加载和页面的刷新
39 0
|
5月前
|
缓存 JavaScript 前端开发
程序员必知:广告等第三方应用嵌入到web页面方案之使用js片段
程序员必知:广告等第三方应用嵌入到web页面方案之使用js片段
71 0