Sona Avetyan 关于 JavaScript 及其最常用的框架

已发表: 2022-10-06

在科技的世界里,我们都可以一键找到问题的答案。 但是,您是否曾经密切关注源的格式? 你喜欢看视频、阅读文章、语音搜索还是第一人称查看? 例如,在软件开发和 ITO 行业中,直接从软件开发人员、工程师和 CTO 等专业人士那里查看访谈和个人故事,是自学最互动和最可靠的方式之一。 个人故事和真实经历使教育更加适用和令人难忘。

在 CodeRiders,我们对我们的软件开发人员进行了一系列采访。

在科技的世界里,我们都可以一键找到问题的答案。 但是,您是否曾经密切关注源的格式? 你喜欢看视频、阅读文章、语音搜索还是第一人称查看? 例如,在软件开发和 ITO 行业中,直接从软件开发人员、工程师和 CTO 等专业人士那里查看访谈和个人故事,是自学最互动和最可靠的方式之一。 个人故事和真实经历使教育更加适用和令人难忘。

在 CodeRiders,我们对我们的软件开发人员进行了一系列采访。

JavaScript 还领先另一个 Statista 报告,成为全球招聘人员最需要的编程语言。

当然,在这些数字之后,很明显 JavaScript 框架也将引领世界上最常用的 Web 框架列表。

根据 Statista 的数据,截至 2022 年,Node.js、React.js 和 Vue.js 是全球软件开发人员中最受欢迎的 10 大框架之一。

考虑到这一点,让我们开始与 CodeRiders 的全栈软件开发人员 Sona Avetyan 进行对话。

嗨,索娜。 感谢您花时间分享您作为软件开发人员的知识和经验。 首先,请自我介绍。

你好。 谢谢你的采访邀请。 我是 Sona,一位全栈软件开发人员,在使用创新技术开发 Web 和桌面应用程序方面拥有 3 年以上的专业经验。 自从加入 CodeRiders 软件开发公司以来,我参与了我们公司的项目,并使用 PHP、JavaScript 及其主要框架:Vue.js、Node.js、React.js 和 MySQL 成功交付了应用程序。

你是如何加入 CodeRiders 的?

我认为我最终进入 IT 行业(特别是 CodeRiders)的背景故事很有趣,并且可能会激励一些人。 这就是为什么我想更详细地与您分享它。

我拥有精算科学和数学硕士学位,在我职业生涯的初期,我把自己想象成这个领域的成功专业人士。 然而,随着时间的推移,我注意到我的兴趣正在消失,尤其是在计算机科学和信息技术产业大“爆炸”进入亚美尼亚经济之后。 在我大学期间,IT 领域在亚美尼亚蓬勃发展。 越来越多的年轻人痴迷于 IT,其中有很多成长机会和出色的职业生涯。 尽管我在自己的领域做得很好,但我决定在信息技术行业开始一个全新的行业。 我的朋友建议我信任 CodeRiders Web 开发学校,以获得稳定的开端,我听从了他们的建议。

从 CodeRiders 软件开发学校成功毕业后,我开始在亚美尼亚最大的保险公司之一工作,担任技术支持专家。 最终,我长大成为团队的领导者。 虽然我喜欢我的工作,但我一直知道我想要的不仅仅是支持和维护其他软件开发人员和工程师编写的代码。 保险公司只是我走向更大更光明的职业道路的“准备”。

我在保险公司工作了 6 年,与此同时,我一直牢记 CodeRiders。 我知道,软件开发学校转型为 CodeRiders 软件外包公司,成为亚美尼亚当地最成功的科技公司之一。 我在社交媒体上关注 CodeRiders,并始终把自己想象成他们友好团队的一员。 我喜欢这家公司和它的工作方式。 2019 年,我接到 CodeRiders 创始人的电话,他邀请我加入他们可爱的团队。 这是我最喜欢的电话之一。 我很激动,当然,我接受了这个提议,一切就这样开始了。 我很快适应了这种氛围,因为我对公司很熟悉,每个人都非常支持、友好,随时准备提供帮助。

您能否详细介绍一下您的主要技术堆栈以及您在选择这些技术时的考虑因素?

这是我目前技术技能的“完整包”。

  • 网页:HTML、CSS3、LESS、SASS、Bootstrap、JavaScript、PHP
  • 服务器:Apache、WAMP
  • 数据库:MySQL、MSSQL
  • 语言:PHP(5.6-8.x 版)、JavaScript、SQL
  • 技术/库:Vue.js、React.js、Node.js、Laravel、JQuery、Electron.js、社交 API(谷歌)
  • 概念:OOP、MVC
  • 环境:Linux(Ubuntu、CentOS 6/7)、MS Windows 10、Git、SVN

在我的编程生涯开始时,我使用 PHP 软件开发语言。 然后我切换到 JavaScript。 我喜欢他们两个,但 JS 肯定是我最喜欢的。

我与 JS 的第一个“小项目”是为我们公司构建一个在线名片系统。 我们所有的员工都可以插入他们的凭证并制作他们的定制名片。 然后,他们可以扫描和打印这些名片,将它们传送到手机或电脑上,并在各种场合使用。 我使用 Vue.js 进行前端开发 Node.js 和 MongoDB 进行后端开发。 这是我第一个完全基于 JS 技术的项目。 那时,我可以选择使用 PHP 作为后端,但我对 JavaScript 及其框架非常感兴趣。 另外,这是我们自己的项目,所以我试了一下,效果很好。

如果你不使用 TypeScript,JavaScript 是非常动态的,这正是我喜欢 JS 的地方。 我喜欢玩代码。 这就像玩石膏,你不必在很多场合都遵循某些固定的步骤。 与 Java 等静态语言不同,在 JavaScript 中,解释器在运行时根据变量当时的值为变量分配一个类型。 动态 JavaScript 是一种无需在浏览器中加载整个页面即可在网页上创建操作的方法。 这反过来又提高了网站速度并使其对用户的响应更快。 另一方面,你无法想象没有 JS 的 Web 开发,因为前端开发的整个控制权都掌握在 JS 技术手中。

因此,在 JavaScript 中,您可以更加灵活,并且它可以在很多情况下为您提供帮助。 然而,这种活力有时会激怒许多软件开发人员,特别是如果他们是 Java 或 C# 等类型语言的软件开发人员。 我们在 JavaScript 中没有任何固定的东西,但另一方面,如果你想对代码有一点“创造性”,它会给你一个机会。 同时,JavaScript 也为那些习惯于类型语言的软件开发者提供了解决方案。 凭借其灵活性,他们可以简单地使用 TypeScript。

类型化和动态软件开发语言之间的区别如下。 如果你给某个变量一个类型,它是固定的,你永远不能改变它。 例如,如果您将某个变量定义为字符串、数字或其他内容,您将永远无法返回并更改其类型。 另一方面,在像 JS 这样的动态语言中,你可以说,好吧,目前我的变量是一个数字,但稍后我会将它变成一个字符串。 在某些情况下,类型化语言的“严格性”非常好,因为您避免了许多错误,但另一方面,“灵活性”的活力在许多其他场合也有帮助。 所以,很难说哪个更好。 它主要取决于特定的软件开发人员和特定项目的特征。

综上所述,如果我有机会选择特定项目的技术栈,我会密切关注项目的“实质”。 了解项目的本质、结构和便利的可能性非常重要,因为这些是在为项目选择特定技术堆栈之前要考虑的主要因素。 比如,你应该使用 SQL 还是 MongoDB 作为数据库? 为什么前端开发使用 Vue.js 更好? 用于后端开发的 Node.js 或 PHP 等呢?

请谈谈你最喜欢的关于 JavaScript 及其框架(Node.js、Vue.js 和 React.js)的事情。

  • JavaScript 的活力
  • 使用 JS 及其框架就像盖房子一样

正如我之前提到的,活力是我最喜欢的第一件事。 我最喜欢 JS 前端框架。 使用 JavaScript 前端框架,您可以自由发挥您的想象力。

我经常将使用 JS 及其框架比作盖房子。 您首先构建了建筑物的“骨架”,并且已经在每一层建立了特定项目的位置,例如前门、房间、窗户等。 您无需在每一层都重建它们,而是在每一层重塑它们。 你房子里的每一块石头都是一个组件,每一个楼梯或电梯都是一个路由。 例如,在这座建筑中,每一层都是您网站的页面,楼梯和电梯是路线(当您从一个页面转移到另一个页面时),所有其他项目,如墙壁、椅子和窗户,都是可变组件。

房子的客人是用户,而住户是与您一起工作的其他软件开发人员和工程师。 住户的客人在访问您的房子时应该感到舒适。

哪个是最好的 JavaScript 框架?

这是一个非常有趣的问题,当然也没有具体的答案。 我不会只提到一个特定的 JavaScript 框架,而是比较最流行的 JS 框架,并留给你决定。

Vue.js 和 React.js 用于前端开发,而 Node.js 用于后端软件开发。

Vue.js 和 React.js 非常相似,同时又非常不同。 如果你了解 React.js,那么学习 Vue.js 就很容易,反之亦然。 这两个框架正在相互补充。 例如,当我处理输入和更改时,使用 Vue.js 比使用 React.js 容易得多。

在 React.js 中,你应该比在 Vue.js 中编写更多的代码。 代码结构在 Vue.js 中也组织得更好,但同样,它也很大程度上取决于您如何编写代码。

一般来说,JS 框架是最好的,因为它们由组件组成,并且很容易使用它们。 您考虑到“不要重复自己”的模式。 如果您已经编写了一个组件,您可以在多个地方使用它而不是重写它。

例如,您必须为“按钮”编写代码,并且该按钮的结构在所有地方都是相同的,除了细微的变化,例如按钮的颜色或悬停颜色。 如果软件开发人员想要进行这些细微的更改,他们不会从头开始重写代码。 他们采用负责颜色的特定组件,并根据客户的要求在各个页面上更改它。 因此,在每一页上,您都称其为“颜色组件”。

我在后端开发中使用 Node.js,同时在前端开发中使用 React.js 和 Vue.js,这三种技术的组合非常理想。 我拿这个组合开玩笑,把它比作一个内外都很漂亮的理想人。

在 Node.js 框架中,我喜欢使用 Express.js 或 Nest.js。 在我们即将发布的新网站的开发过程中,我开始使用 Nest.js。

您如何评价 JavaScript 在当今 IT 行业中的重要性?

我无法想象没有 JavaScript 的 Web 开发。 当然,现在 IT 行业正在大规模快速增长,但 JS 的增长速度是一样的。 它根据最新的 IT 发展调整其解决方案。 所以,我很肯定 JS 会在 IT 行业呆上几十年。

请谈谈您在 CodeRiders 上最“难忘”的软件开发项目。

我将谈论我的第一个“巨大、复杂和巨大”的项目,我喜欢这样称呼它。 这个项目使我成为一名经验丰富的软件开发人员。

很难简单地解释这个定制软件开发项目。 该客户涉及多个行业:媒体和娱乐软件解决方案以及营销和分析软件解决方案。 该客户端为用户提供了一个巨大的平台来注册、运行和跟踪他们公司的广告的有效性,为他们的员工定义工作限制,并检查结果。

我与来自 CodeRiders 的同事以及来自其他国家的一些其他远程软件工程师一起从事这个项目。 我们在 COVID 封锁期间开展了这个项目,当时每个人都在家工作。 自从我接受 CodeRiders 团队以来,仅仅几个月。 因为这是我的第一个大型项目,所以我经常和 CodeRiders 的软件开发人员一起熬夜,直到凌晨 2:00,他们渴望帮助我,所以我可以顺利参与开发过程。 这是对我的 CodeRiders 团队精神的“介绍”。

我们的目标是开发无错误且高质量的代码,我们正在处理谁的任务并不重要。 我所有的同事都会发起视频通话来审查代码并提供建议。 我们在 CodeRiders 的座右铭是“我们渴望,我们共同实现”,是的,这是事实,并且由于这种方法,我融入了我们的团队,并在软件开发领域变得经验丰富。

这种方法也适用于其他远程软件开发人员。 我记得每当我们遇到问题时,谁造成的错误都无关紧要。 我们的首要任务是尽快解决问题。 所以,我们中的一个人会尽快做到这一点。 然后我们会拨打紧急电话并讨论问题和问题的原因,以确保我们将来不会遇到这样的问题。

请列举 JavaScript 的一些优点和缺点。

优点

  • JavaScript 易于理解和学习。
  • JavaScript 支持所有现代浏览器,这有助于产生等效的结果。
  • 软件开发人员有机会制作丰富的界面。
  • 您可以在每个项目中简单地实现它,因为它可以与其他编程语言完美配合。
  • 全球公司优先考虑社区发展并投资于重要项目。 很好的例子是由 Angular 框架创建的 Google 和由 React.js 创建的 Facebook。
  • JS 与其他技术语言配合得非常好。
  • 可以从前到后仅使用 JavaScript 开发完整的应用程序,因为我们有多种通过 Node.js 服务器使用 JS 的方式。
  • 最后但并非最不重要的一点是,它非常受欢迎并且拥有庞大的社区。 您可以轻松扩展您的 JS 知识,因为有很多可用的课程。

缺点

  • JavaScript 代码对每个人都是可见的。 任何人都可以检查代码。
  • 不同的浏览器对 JavaScript 代码的解释不同,这可能会导致跨浏览器代码的读写困难。
  • 在 JS 中,HTML 编辑器支持调试,其效率不如 C/C+ 等其他编辑器。 这会使开发人员检测问题的工作复杂化(不是严重的缺点)。

您能描述一下 CodeRiders 的典型工作日吗?

我在 CodeRiders 的典型一天从一杯好咖啡开始,然后与我的同事进行温暖的早晨闲聊。 然后每个人都去他或她的工作。 白天我们可能要开几次会。 如果是星期一,整个团队会在一天结束时聚在一起开一个大会议。 每个人都代表他们做了什么,他们目前正在做什么,以及需要做什么。 如果有人遇到问题,他们会与团队分享,我们会提供建议。

我喜欢 CodeRiders 的地方在于,虽然我在工作并且我对工作质量负责,但我仍然不会为此感到压力。 此外,气氛如此轻松,我的工作效率更高、效率更高。

我们知道 CodeRiders 可以灵活地选择在家工作还是办公室工作。 你更喜欢哪一个,为什么?

是的,我们有机会选择在家工作还是在办公室工作,但我喜欢在办公室工作。 无论哪种方式对我来说都是富有成效的,但我想念我的队友和整个办公室。 在办公室工作时,我会感受到很多积极的情绪。

让我们想象一下,你有一个客户的采访。 您的客户向您介绍他们的项目,此时他们没有特定的技术要求。 他们乐于接受建议。 你能描述一下你将如何进行对话吗?

在正式进入工作之前,我与客户进行了多次采访。 这是很自然的,因为客户希望确保他们即将聘请的专家是一个很好的匹配。

在这些采访中,大多数客户都想了解软件开发人员的决心、工作方法和个人价值观。 我也接到过一些小的测试任务,但这种情况并不经常发生,只有当客户是我们公司的新客户时才会发生。

有时客户问我一个技术问题,我当时没有答案。 然而,大多数客户并不专注于此,更重要的是让他们了解您对挑战的反应。 有时我不知道客户需要的特定技术,但我还是通过了面试阶段。 在这种情况下,客户可能会看到我渴望快速学习所需技术。

你最喜欢的项目是什么,为什么?

我最喜欢的项目是我上面描述的第一个大项目。 为什么? 因为那时我获得了我现在拥有的所有经验和专业精神。 我研究了各种功能,测试了我对多种事物的了解,并练习了各种技术。 最后,我在这些项目上受了很多苦:不眠之夜和长途电话。 最终,它们成为了我生活的一部分。

您认为哪种技术语言是 IT 的未来?

这是一个不会有明确答案的问题。 每项技术都以它的方式很重要,应该在它的位置上使用它才能正常运行。 例如,对于数据科学和人工智能,我们使用 Python,它可以工作。 但是,Python 并不是后端 Web 开发的最佳解决方案。 有些项目并没有那么大和复杂,但是用错误的语言编写,这不必要地使工作复杂化。

对于那些刚刚在信息技术行业开始职业生涯的软件开发人员,您有什么建议?

如果您认为您只会学习一次并在整个职业生涯中使用您的知识,那么软件开发中并非如此。 您应该准备好学习新事物,并在整个职业周期中更新和升级您的知识。 所以,你应该在 IT 行业同时工作和学习,否则你会被甩在后面。

感谢 Sona 抽出宝贵时间与我们交谈并分享您丰富的专业知识。

此外,让我们提一下,JavaScript 软件开发人员及其流行的框架(React.js、Vue.js 和 Node.js)如今非常流行。 在当今全球 IT 人才短缺的情况下,以实惠的价格找到 JavaScript、Vue.js、React.js 和 Node.js 软件开发人员要容易得多,特别是如果您从事软件外包并在知名技术中心寻找远程软件开发人员.

为了聘请 JavaScript 开发人员,我们向 CodeRiders 团队提供免费咨询。 联系我们讨论您的软件需求并查看我们的软件开发商费率。