fbpx

ROS 728x90 MIX 113

10th el sale banner
課程簡介

[給我學的理由]

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程式精髓,唯有觀念清楚,才能快速開發,不得其要領,將曠日費時。

關鍵字: Node.js、javaScript、 JQuery、DOM、CSS 、MongoDB、NoSQL資料庫、Webscoket、模板引擎

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

適合對象
  • 前(後)端工程師,想了解後(前)端技術。
  • 想快速學習Web Front End及Backend的技術。
  • 對JavaScript & Node.js相關開發有興趣。
  • 想朝網站Web APP應用程式設計開發者。

 5G SDN 728x90

職涯方向

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

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

    • Web 技術前端技術架構與DOM架構簡介
    • 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,艾鍗學院將竭誠為您服務喔!

延伸學習

常見問題

*名詞解釋*

什麼是 NoSQL?

NoSQL 是 Not Only SQL 的縮寫。NoSQL 和傳統的 RDBMS(關聯式資料庫)是很不一樣的技術,NoSQL 是使用 Key-value pairs 與「文件儲存」觀念的資料庫技術。它不像RDBMS有嚴謹的Schema架構,新增資料時不會進行嚴格的型態檢查,因此在新增資料時可以很快,惟對於後續做查詢時會比較慢。故 NoSQL的資料庫很適合於應用在需要大量快速的新增資料,像是大量社群貼文、大量的物聯網感測資燉羗集這類的應用。MongoDB 是目前最受歡迎的 NoSQL 資料庫,被大量使用在雲端服務與 REST API 開發場合,因此又被稱為「雲端開發的資料庫」。 

*實務開發*

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

 這些設備只要能發佈MQTT訊息,則broker 會轉發給Web Sever( 一個MQTT Scriber的角色)。而瀏覽器再使用AJAX或WebSocket 取得Web Sever 手中的資料後,接著再以前端技術,如JQuery,自動局部更新網頁中的數據,這樣就可以不用一直手動更新。

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

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