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 團隊提供免費諮詢。 聯繫我們討論您的軟件需求並查看我們的軟件開發商費率。