【移動互聯網技術簡述】- swust移動互聯網實踐課觀後總結

移動互聯網技術簡述

Android:
簡介:
安卓是一種基於Linux內核(不包含GNU組件)的自由及開放源代碼的操作系統。主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。Android操作系統最初由Andy Rubin開發,主要支持手機。

獲取最新資訊:
Android developer 官網

安卓開發的優勢:
1.開放的源碼
2.衆多開發者及強大的社區
3.不斷增長的市場(目前android已經佔據了80%以上的移動端市場)
4.國際化的app集成
5.低廉的開發成本
6.更高的成功效率
7.豐富的開發環境

開發語言:
1.Java語言:使用非常多,大部分計算機專業都要學習該編程語言,隨着互聯網的興起,java已經越來越受歡迎
2.Kotlin語言:在2019年,谷歌宣佈Kotlin成爲android開發的首選語言。該語言適用領域爲:移動端跨平臺、服務端、原生、web開發、數據科學、安卓等。
Kotlin官網:https://kotlinlang.org/
Kotlin中文網:https://kotlinlang.org/

Kotlin的優勢:
簡潔、安全(例如避免了空指針異常)、工具友好(Eclipse、Android Studio)

Android四大組件:
Activity(最常用的一個,最簡單的界面都需要它)、Service(主要用於進行後臺操作)、BroadCast Recevicer、Content provider。

Android視圖控件架構:
在這裏插入圖片描述
1.一個完整的界面基本上是按照這樣的佈局結構來進行擴展的。
2.在 Android 所有的控件和 Layout 都有着一個父類 View 。Anroid 通過繼承的方式,對父類控件進行繼承,由此來在父類基礎上創造新的控件。

學習源碼:
閱讀源碼是一種很好的學習方式,源碼都是由谷歌的大佬們寫的,我們可以學習和借鑑他們的寫法。比如看一下Button的實現類,會有很大的收穫。

安卓的四層架構:
Linux內核層、系統運行庫層、API框架層、系統應用層
在這裏插入圖片描述
安卓爲什麼要爲每個運行程序開虛擬機:
android是基於Linux的,封裝了JVM和ADT。android應用經過編譯內後生成.apk文件編譯後生成.dex文件。爲了讓.dex文件能順利在Linux上順利運行,Android開發了ADT虛擬機。

Dalvik:
Dalvik是Google公司自己設計用於Android平臺的虛擬機。Dalvik虛擬機是Google等廠商合作開發的Android移動設備平臺的核心組成部分之一。它可以支持已轉換爲 .dex(即Dalvik Executable)格式的Java應用程序的運行,.dex格式是專爲Dalvik設計的一種壓縮格式,適合內存和處理器速度有限的系統。Dalvik 經過優化,允許在有限的內存中同時運行多個虛擬機的實例,並且[1]每一個Dalvik 應用作爲一個獨立的Linux 進程執行。獨立的進程可以防止在虛擬機崩潰的時候所有程序都被關閉。很長時間以來,Dalvik虛擬機一直被用戶指責爲拖慢安卓系統運行速度不如IOS的根源。

ART:
ART模式英文全稱爲:Android runtime,谷歌Android 4.4系統新增的一種應用運行模式,與傳統的Dalvik模式不同,ART模式可以實現更爲流暢的安卓系統體驗,對於大家來說,只要明白ART模式可讓系統體驗更加流暢,不過只有在安卓4.4以上系統中採用此功能。

二者的區別:
ART處理應用程序執行的方式完全不同於Dalvik,Dalvik是依靠一個Just-In-Time (JIT)編譯器去解釋字節碼。開發者編譯後的應用代碼需要通過一個解釋器在用戶的設備上運行,這一機制並不高效,但讓應用能更容易在不同硬件和架構上運 行。ART則完全改變了這套做法,在應用安裝時就預編譯字節碼到機器語言,這一機制叫Ahead-Of-Time (AOT)編譯。在移除解釋代碼這一過程後,應用程序執行將更有效率,啓動更快。

ios:
簡介:
IOS是由蘋果公司開發的移動操作系統 [1] 。蘋果公司最早於2007年1月9日的Macworld大會上公佈這個系統,最初是設計給iPhone使用的,後來陸續套用到iPod touch、iPad上。iOS與蘋果的macOS操作系統一樣,屬於類Unix的商業操作系統。原本這個系統名爲iPhone OS,因爲iPad,iPhone,iPod touch都使用iPhone OS,所以2010年WWDC大會上宣佈改名爲iOS(iOS爲美國Cisco公司網絡設備操作系統註冊商標,蘋果改名已獲得Cisco公司授權)。

ios系統優勢:軟件與硬件整合度高,界面美觀、易操作,安全性強,應用數量多、品質高

ios應用開發語言:
1Object-C,iOS開發的標準語言是objective-c。是c的一種超集, 它是對c的擴展,支持面向對象編程。像後來的一些高級語言java,c#等都借鑑了該語言的面向對象特性。 當然在iOS開發過程中,也支持c/c++語言與原生的objective-c混編。
2.Swift,蘋果於2014年WWDC蘋果開發者大會發布的新開發語言,可與Objective-C共同運行於macOS和iOS平臺,用於搭建基於蘋果平臺的應用程序。
Swift是一款易學易用的編程語言,而且它還是第一套具有與腳本語言同樣的表現力和趣味性的系統編程語言。Swift的設計以安全爲出發點,以避免各種常見的編程錯誤類別。2015年12月4日,蘋果公司宣佈其Swift編程語言開放源代碼。長600多頁的The Swift Programming Language可以在線免費下載。

ios系統架構:
iOS系統分爲可分爲四級結構,由上至下分別爲可觸摸層(Cocoa Touch Layer)、媒體層(Media Layer)、核心服務層(Core Services Layer)、核心系統層(Core OS Layer),每個層級提供不同的服務。低層級結構提供基礎服務如文件系統、內存管理、I/O操作等。高層級結構建立在低層級結構之上提供具體服務如UI控件、文件訪問等。
在這裏插入圖片描述
HTML5:
簡介:
HTML5是構建Web內容的一種語言描述方式。HTML5是互聯網的下一代標準,是構建以及呈現互聯網內容的一種語言方式.被認爲是互聯網的核心技術之一。HTML產生於1990年,1997年HTML4成爲互聯網標準,並廣泛應用於互聯網應用的開發。
HTML5是Web中核心語言HTML的規範,用戶使用任何手段進行網頁瀏覽時看到的內容原本都是HTML格式的,在瀏覽器中通過一些技術處理將其轉換成爲了可識別的信息。HTML5在從前HTML4.01的基礎上進行了一定的改進,雖然技術人員在開發過程中可能不會將這些新技術投入應用,但是對於該種技術的新特性,網站開發技術人員是必須要有所瞭解的。
HTML5 技術結合了 HTML4.01 的相關標準並革新,符合現代網絡發展要求,在 2008 年正式發佈。HTML5 由不同的技術構成,其在互聯網中得到了非常廣泛的應用,提供更多增強網絡應用的標準機。與傳統的技術相比,HTML5 的語法特徵更加明顯,並且結合了 SVG 的內容。這些內容在網頁中使用可以更加便捷地處理多媒體內容,而且 HTML5中還結合了其他元素,對原有的功能進行調整和修改,進行標準化工作。HTML5 在 2012 年已形成了穩定的版本。

學習網站:
https://www.w3school.com.cn/

優勢:
1.網絡標準統一、HTML5本身是由W3C推薦出來的
2.多設備、跨平臺
3.即時更新
4.提高可用性和改進用戶的友好體驗
5.增加新的標籤
6.可以給站點帶來更多的多媒體元素
7.可以很好的替代Flash和Silverlight
8.涉及到網站的抓取和索引的時候,對於搜索引擎很友好
9.被大量應用於移動應用程序和遊戲

劣勢:
1.安全性:web storage、web socket這樣的功能容易被黑客利用,來盜取用戶的信息和資料。
2.完善性:許多特性各瀏覽器的支持程度也不一樣
3.性能:某些平臺上的引擎問題導致HTML5性能低下
4.兼容性:最大的缺點,IE9以下的瀏覽器幾乎全軍覆沒

爲什麼適合移動開發:
1.跨平臺兼容性
2.遠程動態更新
3.Hybrid’應用流行
4.低成本\維護成本
5.HTML5能力不斷提升
6.利用移動設備功能
7.自由靈活編碼設計
8.多設備一次性編碼

HTML5移動開發的9種框架:
1.jquery mobile框架
2.bootstrap框架
3.ionic框架
4.Mobile Angular UI框架
5.Intel XDK框架
6.Appcelerator Titanium框架
7.Sencha Touch框架
8.Kendo UI框架
9.PhoneGap框架
推薦一篇博客:https://www.jianshu.com/p/ba60911f7a0a

Flutter:
簡介:
Flutter 是 Google 開源的 UI 工具包,幫助開發者通過一套代碼庫高效構建多平臺精美應用,支持移動、Web、桌面和嵌入式平臺。Flutter 開源、免費,擁有寬鬆的開源協議,適合商業項目。
Flutter 是 Google 開源的 UI 工具包,幫助開發者通過一套代碼庫高效構建多平臺精美應用,支持移動、Web、桌面和嵌入式平臺 [3] 。
Flutter 可以方便的加入現有的工程中。在全世界,Flutter 正在被越來越多的開發者和組織使用,並且 Flutter是完全免費、開源的。它也是構建未來的 Google Fuchsia 應用的主要方式。
Flutter 組件採用現代響應式框架構建,這是從React中獲得的靈感,中心思想是用組件(widget)構建你的UI。 組件描述了在給定其當前配置和狀態時他們顯示的樣子。當組件狀態改變,組件會重構它的描述(description),Flutter 會對比之前的描述, 以確定底層渲染樹從當前狀態轉換到下一個狀態所需要的最小更改。

優勢:
快速開發,富有表現力和靈活的UI,具有原生性能,統一的應用開發體驗

Flutter架構:
在這裏插入圖片描述

開發語言:
Dart是谷歌開發的計算機編程語言,後來被Ecma (ECMA-408)認定爲標準 [1] 。它被用於web、服務器、移動應用 [2] 和物聯網等領域的開發。它是寬鬆開源許可證(修改的BSD證書)下的開源軟件。
Dart是面向對象的、類定義的、單繼承的語言。它的語法類似C語言,可以轉譯爲JavaScript,支持接口(interfaces)、混入(mixins)、抽象類(abstract classes)、具體化泛型(reified generics)、可選類型(optional typing)和sound type system [3] 。

Dart語言的優勢:

  1. Dart 非常靈活
  2. Dart 擁抱了開源生態系統
  3. Dart 很容易學習,容易上手
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章