iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
Modern Web

小白的從零開始食譜搜尋系統系列 第 4

食譜搜尋系統後端語法簡介

  • 分享至 

  • xImage
  •  

學習原因
JS和html 、css一直是網頁前端設計的三巨頭,與html、css不同的是,JS同時也可以執行後端語法,如果一個網站的前端設計和後端語法都是使用JS的話,其實執行起來小率非常高,故icebear這次選擇學習JS語法,既方便又好用,也是CP值很高的技術。


技術簡介

  • 簡介 :
    Node.js 是能夠在伺服器端運行 JavaScript 的開放原始碼、跨平台執行環境。Node.js 採用 Google 開發的 V8 執行程式碼,使用事件驅動、非阻塞和非同步輸入輸出模型等技術來提高效能,可優化應用程式的傳輸量和規模。這些技術通常用於資料密集的即時應用程式。
    Node.js 大部分基本模組都用 JavaScript 語言編寫。在 Node.js 出現之前,JavaScript 通常作為使用者端程式設計語言使用,以JavaScript 寫出的程式常在使用者的瀏覽器上執行。Node.js 的出現使 JavaScript 也能用於伺服器端編程。Node.js 含有一系列內建模組,使得程式可以脫離 Apache HTTP Server 或 IIS,作為獨立伺服器執行。
    目前,Node.js 已被IBM、Microsoft、Yahoo!、Walmart、Groupon、SAP、LinkedIn、Rakuten、PayPal、Voxer、GoDaddy等企業採用。

  • 技術特點與優點 :
    • 全端開發 : Node.js將網頁開發前後端語言統一,不但可以標準化前後端程式碼,還可以實現全端開發。
    • 快速入門: 對於本來就懂 JS 語法的使用者來說,由於Node.js擁有能夠在伺服器端運行 JS 的開放原始碼和跨平台執行JS環境這兩項特點,讓使用者在學習上超容易上手。
    • 開發速度快 : Google V8 JavaScript引擎是基於BSD授權條款的開源軟體,它是目前運作速度最快的瀏覽器內核,而且專注於網路功能,在HTTP、DNS、TCP等方面更加成熟。Node.js選擇其作為執行引擎可以加強穩定性及性能,同時,V8可以將 JS編譯成原生機器碼並快速執行如資料庫、網絡連接,文件系統的讀取或寫入等常見的 Web 應用任務。
    • 社群支援強 : npm是Node.js附帶的包管理器。npm是一個命令列工具,用於從NPM Registry中下載、安裝Node.js程式,同時解決依賴問題。npm提高了開發的速度,因為它能夠負責第三方Node.js程式的安裝與管理。
    • 內建函數 :Node.js包含許多內建函數例如 http、cypto、fs 模組等,可以幫助使用者快速開發其他像爬蟲這類常用的工具,而不只是拿來開發後端服務而已。
    • 多數套件包含非同步的 API :雖然Node.js沒有thread的概念,但透過非同步的編成,使用者就不用擔心 thread 的問題,可在不考慮 thread 情況下,就能平行處理一些邏輯。
    • C++ 語言的 addon :因為 Node.js 本身就有支援 C++ 語言的 addon,當覺得這些內附套件不夠用時,也可以自行開發 C++ 語言的 addon 套件來支援 Node.js。
    • 附帶的包管理器_npm: npm是一個命令列工具,用於從NPM Registry中下載、安裝Node.js程式,同時解決依賴問題。npm因為容易安裝,所以提高了開發的速度。

  • 技術應用實例 :
    • Paypal : Paypal這項服務可以完美處理全球超過2億個活躍用戶賬戶。一開始,PayPal的前端瀏覽器和後端服務器分別是不同的執行程序,所以需要不同團隊為應用程序執行任務。在採用了Node.js之後,開發者只需要使用JavaScript這個編成語言。
      Paypal公司聲明,自從採用Node.js構建後,應用程序的編寫速度提高2倍,並且包含的代碼較之前減少了33%。數以百萬計的人依托PayPal進行支付,證明Node.js高性能應用的實力。

  • 類似技術簡介
    • 前端 :
      在網頁前端設計的領域裡,絕多數初學者學習學習順序是html、css 、javasSript。html就是所謂的「標籤語言」,是用來描述網頁的架構 ;而css是描述字體、顏色等網頁顯示的部分 ,屬於「樣式表」的一種 ,如果已經學會以上兩種,就可以架設簡單的網頁 ; 但若是像在網頁上加上互動或是動畫特效的話,就要使用到JavaScript。
    • 後端 :在後端語法上可是有百百種選擇,以下舉幾個比較熱門的選擇。
      • PHP : PHP是後端語法的老牌了,使用者非常多,目前算是最為普及的後端語法,他與MySQL的搭配可是網頁開發的首選,加上PHP很快就可以上手,像是Facebook就是使用PHP開發的。但是由於歷史過久,有些語法過於老舊,在後端語法競爭中輸掉一些優勢。
      • Java : Java也是老牌子了,在業界的使用率算很穩定,應用層面也很廣,Linkedin、Amazon都是使用Java開發。但是Java的開發速度偏慢,這點蠻不適合新手的,可能會比較沒有成就感。
      • Python : Instagram的後端語法就是使用Python, Python的語法簡單,非常容易學會,和PHP與Java 不同,Python屬於近期非常熱門的選擇之一,在數據分析和資料探勘上,Python的使用率非常高 ; 較令人詬病的是,如果單獨使用Python在運行的性能就比較差了。

參考網址
什麼是 Node.js?Node.js 完整介紹懶人包 !:
https://blog.hiskio.com/what-is-node-js/
Node.js維基百科 :
https://zh.wikipedia.org/wiki/Node.js#npm
什麼是前端?什麼是後端? :
https://15days.website/posts/frontend-vs-backend


上一篇
食譜搜尋系統資料庫簡介~~
下一篇
食譜搜尋系統MySQL下載+測試
系列文
小白的從零開始食譜搜尋系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言