智能手機應用開發(趙濤老師)


智能手機應用開發(趙濤老師)

第一次課(2021-09-25)

一、參考資料

node.js開發指南.pdf

參考視頻:前端開發技術圖譜(https://developer.aliyun.com/graph/frontend?spm=a2c6h.21110250.J_5703890090.6.4184760fku9YI)

二、緒論

  • 互聯網大致分為三部分
    • 設備端(傳感層、單片機、通訊方法)(嵌入式系統)
    • 雲平台端(匯聚接入功能)
      • ecs \ services \ 手機端
    • 應用端(小程序)
  • 網站(服務器端)
  • “前端通吃”
    • html + css + JavaScript
    • node.js ==> 運行js的框架
      • 框架運行起來就是服務器
    • js開發單片機
  • 混合開發
    • js調用java代碼

三、前端知識框架

html / css / JavaScript(HTML5 APP應用開發教程)

  • 手機開發
    • h5 + mui => 手機APP
    • vue => uni-app => 多端適配(Vue.js前端開發技術)
  • GitHub / k8s / docker / webpack
  • 互聯網
    • node.js / express / mongodb => 自己做后端(node.js開發指南.pdf)
    • serverless => 雲后端
      • k8s + docker 即可部署

四、網絡概述

計算機網絡由資源子網與通信子網組成
  • image-20211020022518020
  • Router(交換設備 / 路由器)
  • “互聯網是局域網的網絡”
  • 底層(物理層):實現物理上信息傳輸
    • 包括架空明線、電纜、光纖、無線信道等
    • 建立在串口通信上的modbus-tcp協議(工業常用,串口而非網口)
    • 網絡協議對物理層沒有約束
網絡協議層級
  • 表示層
    • HTTP......
  • 傳輸層
    • TCP、UDP
  • 網絡層
    • ICMP => IP <= IGMP
      • 目前以IP單位發送數據
  • 鏈路層
    • ARP <=> MAC <=> RARP
  • 物理層
    • 硬件
鏈路層詳解
  • 鏈路層就是IP包
  • 數據信道
  • 目的:正確傳輸二進制
  • 功能
    • 鏈路管理
    • 幀的裝配分解與同步
    • 流量控制與順序控制
    • 差錯控制
  • 例如:網卡網橋等
  • 采用沖突檢測/載波偵聽(CSMA/CD)
  • 發送數據需要先偵聽信道,若空閑即可傳輸,反之按一定算法等待一段時間后再試;
    在發送過程中進行沖突檢測,一旦有沖突立即停止發送並后續重新發送
  • 以太網幀的格式
    • 前導 + 同步 + 目標地址 + 源地址 + 類型 + 控制操作碼 + 控制碼參數 + 幀校驗
TCP數據包結構
  • 兩個設備通訊是端口和端口之間進行通訊
HTTP協議
  • http協議在服務器和客戶端之間傳送信息,用於從web服務器傳輸網頁到本地瀏覽器
  • 瀏覽器作為HTTP客戶端通過URL向HTTP服務端發送請求,web服務器根據請求做出反應得到響應並向客戶端發送響應信息
  • 默認端口號為80,使用統一資源標識符(URL)傳輸HTML網頁、圖檔和相關文件,URL用來識別網絡上的資源
  • 格式:[ 協議: // 域名 (或IP地址) [:端口號] / 文件名 ]
  • image-20211020030349989

五、HTML

知識介紹

  • HTML = HyperText Markup Languag

  • 超文本描述語言

  • 雙標簽結構

  • 幾個概念:標簽、元素(標記的內容)、屬性、事件

  • html確定網頁的結構,即用標簽表示網頁上有什么元素

  • 按字母順序為http://www.w3school.com.cn/tags/index.asp

  • 按功能為http://www.w3school.com.cn/tags/html_ref_byfunc.asp

  • http://www.w3school.com.cn/

  • http://www.runoob.com/

  • HTML5新特性與優勢

    image-20211020032543647

  • 為了加強說明標簽,增加了標簽的屬性。格式為屬性= ”數值”. 不同的標簽有不同的屬性,公有的屬性如id/class/style;多個屬性 值用:;分開,多個屬性空格分開

  • 全局屬性參見http://www.w3school.com.cn/tags/html_ref_standardattributes.asp

  • 事件屬性http://www.w3school.com.cn/tags/html_ref_eventattributes.asp

  • 用一句話概述form/action/submit/name/method的關系

后續操作

六、課后指導

第二次課(2021-10-10)

一、CSS

知識介紹

  • CSS = Cascading Style Sheet

  • 層疊樣式表

  • 渲染層

  • CSS需要關注兩個問題:01 樣式定義及應用 02 布局

  • 選擇器

  • div + css 布局

    • 盒子模型

后續操作

二、課后指導

第三次課(2021-10-16)

一、JavaScript

二、課后指導

01 補充一些模塊化和異步的學習

  • 尚硅谷Web前端ES6教程,涵蓋ES6-ES11
    https://www.bilibili.com/video/BV1uK411H7on?from=search&seid=1577764483559274634

  • ECMAScript 6簡介
    https://www.cnblogs.com/xiugeng/p/9603471.html#_label7

  • JS語法 ES6、ES7、ES8、ES9、ES10、ES11、ES12新特性
    https://zhuanlan.zhihu.com/p/354901519

  • JavaScript的主要用途是與用戶互動以及操作DOM,只能是單線程,否則會帶來很復雜的同步問題。

  • 為了利用多核CPU的計算能力,HTML5提出的Web Worker允許JavaScript腳本創建多個線程,但是子線程完全受主線程控制且不得操作DOM,並沒有改變JavaScript單線程的本質。

  • 單線程的所有任務排隊順序執行,於是任務分成兩種,

    • 一種是同步任務,在主線程上排隊執行形成一個執行棧,執行棧中所有任務執行完畢就會讀取執行任務隊列。

    • 另一種是異步任務不進入主線程而進入任務隊列,異步任務執行完了放置一個事件通知主線程該任務才能進入主線程執行。任務隊列是一個事件的隊列,除了IO事件還有用戶事件和定時器。

      如setTimeout(function(){console.log(1);}, 0);console.log(2);會顯示2/1,因為只有在執行完第二行以后才會去執行"任務隊列"中的回調函數。

02 知識補充

第四次課(2021-10-20)

一、手機開發——基於Hbuilder

二、手機開發——基於HTML5+

三、手機開發——基於mui

四、手機開發——基於native.js

五、手機開發——基於html5+sdk

六、手機開發——應用實例

01 手機抄表

02 摔倒檢測

七、課后指導


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM