fbpx

♦ 本課程另有數位版本,歡迎洽詢

課程簡介

[給我學的理由]

Desktop Application及Install Wizard 將漸漸消失!Web APP程式開發將成為應用程式開發主流,未來任何東西都會在網路上,而未來所有的軟體程式都將用瀏覽器來執行

瀏覽器的能力將會愈來愈強,別停留在Web不就是個人網頁而已,...No! 那是20年以前的狀況。未來Web APP程式開發將成為應用程式開發主流,未來任何東西都會在網路上,應用程式也幾乎依賴瀏覽器來執行!換言之,瀏覽器就可以跑任何應用程式,開發者不須再各別為Windows、Linux、MacOS、 Android APP、iPhone等平台寫程式了。真的寫不完,不要說寫連維護都很難,因為沒有這麼多資源,可以養這麼多人去維護這麼多平台的程式碼。當然,可以找一個可以精通兩個平台以上的工程師,但實在太少了。瀏覽器的功能會逐漸增強,用AJAX, WebSocket(一種TCP Socket) 就能用瀏覽器進行雙向多工通訊,透過Canvas就可以在瀏覽器進行2D/3D繪圖,這些都是瀏覽器功能不斷演進才有的面貌。

[100%實作導向]

在每一個技術除了給你最清楚的觀念外,都有講師設計好準備讓你融會貫通的範例程式,讓你快速進行演練。課程不囉嗦! 強調動手實戰。

[名師醍醐灌頂]

對於初學者一開始想要進入Web APP開發領域,通常會發現,這個領域技術推進的步調很快且技術間盤根錯節!
艾鍗師資最厲害的地方就是,很複雜的東西可以講得很簡單,一針見血把技術精髓道盡! 要快速掌握Web程式精髓,唯有觀念清楚,才能快速開發,不得其要領,將曠日費時。

關鍵字:Web前端、Web後端、Web全端、 Node.js、javaScript、 JQuery、 FORM表單處理、HTML、DOM、CSS 、MongoDB、Webscoket、Express、非阻塞I/O等關鍵技術

課程目標
  • 讓您清楚了解Web前後端架構與技術分野。。
  • 讓您精通JavaScript 程式語言與除錯方法。
  • 讓您學會用JQuery操作HTML、DOM、CSS、FORM表單處理。
  • 讓您掌握Node.js 處理異步、單執行緒與非阻塞I/O等關鍵技術。
  • 讓您學會AJAX 及Webscoket的Web通訊方法。
  • 教您用Express為Web和移動應用程序提供強大功能。
  • 教您如何用HTML Template Engine讓開發事半功倍。
  • 讓您學會MongoDB資料庫應用。

適合對象
  • 前(後)端工程師,想了解後(前)端技術。
  • 想快速學習Web Front End及Backend的技術。
  • 對JavaScript & Node.js相關開發有興趣。
  • 有程式基礎,想朝網站設計領域發展者。
  • 想朝Web APP應用程式設計開發者。
  • ※本課程另有數位版本可選擇

 5G SDN 728x90

職涯方向

全端網站開發工程師、網站程式設計師 、資料庫管理師、系統規劃分析師(系統分析師)、軟體專案主管、專案經理、資訊部門主管

課程大綱
第一階段:Web 前端程式設計-JavaScript & JQuery
  • Web基礎概念

    • Web 技術前端技術架構簡介
    • HTML 簡介與Tag 概念
    • CSS 簡介與Style 屬性
  • JavaScript 程式語言

    • 關於JavaScript
    • 開發方式與除錯方法
    • JavaScript 操作HTML DOM & Browser Object Model
    • JavaScript 變數 & 基本資料型態
    • JavaScript運算式與運算子
    • JavaScript物件 型態
    • JavaScript陣列 型態
    • JavaScript函式
      • call by value & call by reference式
      • Self-Invoking Functions
      • Nested Function
      • Function Closures
    • JavaScript 數值處理與型別轉換
    • JavaScript Array Methods
      • push , pop, split, map
    • JavaScript Timing Events
    • JavaScript類別定義 (Object with property and method)
    • JSON資料格式與處理
    • Image Map
  • 使用JQuery

    • JQuery簡介
    • JavaScript vs JQuery
    • JQuery selectors
    • JQuery操作HTML DOM
    • JQuery操作CSS
    • JQuery Form表單處理
    • HTTP GET vs HTTP POST
    • JQuery AJAX

第二階段:Web 後端程式開發-Node.js
  • 關於Node.js

    • 非同步式 I/O 與事件式程式設計
    • 安裝Node.js
    • Node Package Manage-npm
    • 製作package.json
    • 我的第一個node.js "Hello world"
  • Node.js HTTP 請求與回應

    • Node.js 處理HTTP Get & Post
    • Express HTTP Server提供靜態檔案
    • 用Express處理HTTP Get & Post
  • Node.js 其他模組

    • Child Process Module
    • File System Module
    • Net Module-Socket 網路通訊
  • HTML Template Engine

    • Why use Template Engine ?
    • Handlebars.js Template Engine
    • Handlebars.js 的運作流程說
    • Client Side HTML範本引擎 (Template Engine)
    • 實驗 Handlebars.js
  • The WebSocket Protocol

    • 各種Web 通訊方法
    • Long Polling技術
    • Lab:實驗: Websocket 前後端通訊
    • Lab:實驗: 建立多人聊天室
  • MongoDB

    • MongoDB 簡介與使用
    • Node.js 操作MongoDB
    • Lab實驗: 使用Node.js 進行新增/查詢/更新/刪除 MongoDB
  • Node.js Serial 序列資料讀取new

    • Node.js 讀取Micro:bit 資料使用序列界面
    • Canvas.js 動態折線圖結
    • Lab實驗: 使用瀏覽器顯示Micro:bit狀態(A,B按鍵與加速度計值)

課程搶先看

JavaScript - Function Closure 說明(節錄)▼

Web 動態網頁設計 JQuery UI▼

Node.js WebSocket 程式開發(課程節錄)▼

Web前端設計-JavaScript類別物件設計(節錄)▼

Node.js Web 後端程式開發(課程節錄)▼

micro:bit 物聯網應用-使用Node.js▼

課程諮詢

在一個快速變遷的世界裡,確定會失敗的唯一策略是:不冒險。如果你決定開始冒險,踏向偉大的全端工程師修練之路,搭上艾鍗學院的學習列車,不可思議的旅程,從此開始若您希望對本課程有更多了解,歡迎留下您的資料,或撥服務專線(02)2316-7736,艾鍗學院將竭誠為您服務喔!

 

延伸學習

常見問題

*名詞解釋*

什麼是MongoDB?

MongoDB是一種文件導向的資料庫管理系統,由C++撰寫而成,以此來解決應用程式開發社群中的大量現實問題。2007年10月,MongoDB由10gen團隊所發展。2009年2月首度推出。 MongoDB 是目前最受歡迎的 NoSQL 資料庫,被大量使用在雲端服務與 REST API 開發場合,因此又被稱為「雲端開發的資料庫」。

 

什麼是 NoSQL?
NoSQL 是 Not Only SQL 的縮寫。NoSQL 和傳統的 RDBMS(關聯式資料庫)是很不一樣的技術。NoSQL 不是採用SQL NoSQL ,而是使用 Key-value pairs 與「文件儲存」觀念的資料庫技術。

 

*實務開發*

Web App 要能看到多種 devices,Wep App 要能持續一直監聽MQTT,因為類似溫濕度計器或著其他醫療設備會持續回報最新數據,使用者不用一直 F5 更新頁面。

課程所教授的AJAX或WebSocket方法並配合JQuery,得以解決此問題。這些 device 有可能 ZigBee,BluetoothWifi 等等各種協定。所以我需要設計多個虛擬 gateways 放在 AWS ,這些虛擬 gateways 可控制 Zigbee devices,bluetooth devices 或其他種類。而這些devices 會依使用者需求被 group 起來,使用者能透過 web app 在遠端監控或發送命令控制給這些 devices,因此會有跨虛擬 gateway 的問題。對Cloud 不在乎實體通訊媒介,只要Device有辦法和Cloud 互動 (走IP)即可 Group 也許簡單用 MQTT,同一個Group用同一種Topic。

 

當前需求是優先解決MQTT 通訊問題,未來長遠規劃不一定用 MQTT 協定,因為 bluetooth 就不是用 MQTT。當然課程也不可能學到完全解決我的問題,但是至少我希望是能讓我學到 WEB <-> MQTT < -> AWS <-> MQTT <-> devices 布置架構這一段就可以。

WEB <-> MQTT < -> AWS <-> MQTT <-> devices
課程所教授的MQTT架構即是如此,唯沒有使用AWS,我們使用Raspberry Pi 或 Google Cloud Computing Engine,但就對MQTT技術原理與Lab實作不會有太大差別。