隨著智能手機的普及,人們在溝通、社交、娛樂等活動中越來越依賴於手機app軟件(app,英文application的簡稱,即應用軟件,通常是指iPhone、安卓等手機應用軟件)。手機軟件是通過分析,設計,編碼,生成軟件,而手機軟件是一種特殊的軟件。
Android 操作系統 (Google/其他),APP安裝檔案:
APK全稱Android application package,意為“Android應用程序包”,是Android操作系統使用的一種應用程序包文件格式,用於分發和安裝移動應用及中間件.
Android App Bundles,簡稱為 AAB.
iOS 操作系統 (Apple),APP安裝檔案:IPA后缀的文件是iOS系统的软件包,全称为iPhone application archive。只能安装在iPhone,iPod Touch,iPad以及使用Apple Silicon平台的Mac上。
通用操作系統,使用瀏覽器訪問並運行(H5):H5 APP即是一種框架型APP開發模式(HTML5 APP 框架開發模式),該開發具有跨平台的優勢,該模式通常由“HTML5云網站+APP應用客戶端”兩部份構成,APP應用客戶端只需安裝應用的框架部份,而應用的數據則是每次打開APP的時候,去雲端取數據呈現給手機用戶。
原生开发(Native APP):
指的是原生程序,一般依託於操作系統,有很強的交互,是一個完整的App,可拓展性強,需要用戶下載安裝使用。原生應用程序是某一個移動平台(比如iOS或安卓)所特有的,使用相應平台支持的開發工具和語言(比如iOS平台支持Xcode和Objective-C,安卓平台支持Eclipse和Java)。
混合开发:
Hybrid APP指的是半原生半Web的混合類App。需要下載安裝,看上去類似Native App,但只有很少的UI Web View,訪問的內容是Web 。混合應用程序讓開發人員可以把HTML5應用程序嵌入到一個細薄的原生容器裡面,集原生應用程序和HTML5應用程序的優點(及缺點)於一體。比較知名的APP,比如手機百度和淘寶客戶端Android版,走的也是Hybrid App的路線。
WEB 开发
Web App 指採用Html5語言寫出的App,不需要下載安裝。類似於現在所說的輕應用。生存在瀏覽器中的應用,基本上可以說是觸屏版的網頁應用。(Web應用本質上是為移動瀏覽器設計的基於Web的應用,它們是用普通Web開發語言開發的,可以在各種智能手機瀏覽器上運行)
.APK: 操作系統:安裝檔案可置於網絡上任意位置或官網,只要手機網絡可以訪問到的鏈接都可以進行安裝.
.AAB: 將 .APK檔案上載到 Google Play 由 Google 進行轉碼,然後設備再通過訪問 Google Play 的具體位置進行安裝.
.IPA: 將 .IPA 檔案上載到 appstoreconnect 進行審核通過後, 設備可通過訪問 Apple App Store 的具體位置進行安裝.
H5-APP: 不需要安裝, 僅需要移動設備的瀏覽器訪問https://的鏈接,並收藏網址或將網址作為快捷方式保留在設備桌面.
關於敏捷開發的具體介紹:https://docs.microsoft.com/zh-cn/devops/plan/what-is-agile-development
敏捷軟件開發(英語:Agile software development),又稱敏捷開發,是一種從1990年代開始逐漸引起廣泛關注的一些新型軟件開發方法,是一種應對快速變化的需求的一種軟件開發能力。它們的具體名稱、理念、過程、術語都不盡相同,相對於“非敏捷”,更強調程序員團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟件版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更注重軟件開發過程中人的作用。
敏捷軟體開發(或稱快速程式開發RAD)描述了一套軟件開發的價值和原則,在這些開發中,需求和解決方案皆通過自組織跨功能團隊達成。敏捷軟體開發主張適度的計畫、進化開發、提前交付與持續改進,並且鼓勵快速與靈活的面對開發與變更。這些原則支援許多軟件開發方法的定義和持續進化。
“敏捷”(Agile或agile)一詞由“敏捷軟件開發宣言”(Manifesto for agile software development)中開始推廣,“敏捷軟件開發宣言”定義了相關的價值和原則。敏捷軟體開發的框架不斷的發展,兩個最廣泛被使用的是Scrum與Kanban。
強調“響應變化”:在做出開發計劃後,計劃並不是需要唯一遵循的指南。開發過程會因客戶需求的改變而出現改變,這時就需要產品經理不斷更新產品需求,開發團隊中的成員主動配合,使迭代過程可以根據需求變化靈活調整。
使資源利用最大化瀑布式開發要求每個人各司其職,但敏捷開發要求大家能夠互相信任、互相幫助,合作開發。在某一位置出現空缺時,其他人可以暫時代工,這一現像有效地使資源利用效率最大化。
反饋及時:與瀑布式開發在整個生命週期後期才能得到反饋的狀態相比,敏捷開發在每個迭代後都能交付可獨立運行的成果。不論是團隊對迭代成果進行測試,還是從客戶那裡,都能得到及時的反饋。
短週期:每一個迭代就是一個週期,因此交付成果的效率得到顯著提高。
客戶參與:在每個迭代結束後都能將迭代的成果交付到客戶手中,客戶可以及時跟踪到最新的產品狀態,且參與到產品開發中去。
敏捷開發作為“輕量型”方法論,它所強調的“簡潔”、“溝通”、“響應變化”更加符合軟件開發過程。其靈活性能夠幫助人們更好地響應客戶需求變化,因此敏捷開發這一軟件開發方式目前廣受歡迎。
敏捷WEB式開發开发方案:
開發週期:★★★★★(最短)
開發費用:★★★★★(最少)
維護成本:★★★★★(最少)
用戶體驗:★★★☆☆(還好)
用戶黏性:★★☆☆☆(一般)
敏捷混合式開發开发方案:
開發週期:★★★★☆(較短)
開發費用:★★★★☆(較少)
維護成本:★★★★☆(極少)
用戶體驗:★★★★★(極佳)
用戶黏性:★★★★★(極佳)
敏捷原生式開發开发方案:
開發週期:★☆☆☆☆(最長)
開發費用:★☆☆☆☆(最高)
維護成本:★☆☆☆☆(最高)
用戶體驗:★★★★★(極佳)
用戶黏性:★★★★★(極佳)