如何從0到1製作一個App

如何從0到1製作一個App


本文假定讀者是想通過自己的學習和努力,從0到1去製作自己的一款APP產品。

我將從獨立開發者的角度,儘可能描述一條可行的路徑。

第一步:製作產品原型

如何從0到1製作一個App

產品原型

不懂開發的人可能覺得軟件產品就只是程序員埋頭吭哧吭哧搞出來的,但編碼其實只是其中一個環節,並不是全部。你可以把產品原型理解為房子的設計圖,簡單的房子可能不需要設計,但稍微複雜一點的,都是離不開圖紙的。

有些程序員想自己做個東西,也不需要和別人協作,覺得這個麻煩,就跳過這一步了。但我建議最好還是先做出原型來,它不僅可以幫助你把頭腦中的想發快速呈現出來,更重要的是,在你設計原型的時候,你已經把產品在腦海中做了一遍了,這樣對你在後面進行軟件的模塊設計的時候是有極大的好處的。

這裡推薦幾個做 App 產品原型的軟件:墨刀 、Axure。如果不是特別清楚原型是什麼東西的話,可以到墨刀的討論區去看看,有一些分享的作品。

第二步:產品頁面設計

這年頭顏值越來越重要了,對於大部分開發者來說,可能做不到設計驚豔,但是要做到簡潔大方並不是一件很難的事情。

秘訣就是要統一,統一好顏色、字體的使用場景,這樣出來的視覺效果一般不會很差。

如何從0到1製作一個App

設計規範

這裡有篇文章介紹了設計規範的內容,你可以去參考一下:APP界面設計規範編寫指南。

還有一個就是圖標的問題,阿里巴巴圖標庫有非常多圖標,一般App都夠用了。

一般來說,如果是我自己開發的應用,很少去動手設計頁面,都是直接用一套成熟的設計規範,然後對著產品原型來動手編碼了。比如 App 的就可以使用谷歌出品的 Material Design,後面提到的 Flutter 就已經內置了 Material Design 的 UI 組件了。

如果你要自己動手設計頁面的話,在 mac 上面我推薦使用 sketch 。

第三步:代碼編寫

接下來就可以考慮開始動手幹了。首先我們要先定一套技術方案,一般來說,我們做一個普通的App,需要搞定的東西有除了手機App,還有相關的API服務接口。

App 客戶端

首先我們看一下App端,目前手機平臺有兩大陣營,一個是 Google 開源的 Android 系統,一個是蘋果的 iOS 系統,它們使用的開發語言和開發工具都是不一樣的。其中 Android 可以使用Java 或者 Kotlin 語言來原生開發,iOS可以使用 Objective-C 或者 Swift 語言。

如果你要兩個平臺都各做一個,那開發成本將會非常高。我建議你考慮直接採用跨平臺的技術,比如Google 的 Flutter (Dart語言)或者 Facebook 的 Reactive Native (JavaScript語言)技術。

當然你要先調研一下你要做的產品在相關平臺下實現有沒有可行性,這方面可以諮詢一下相關的技術專家。也可以按照經驗原則,你在別的App看到的功能,一般都能實現。

無論你使用什麼技術,一般來說在 App 端需要做的事情一般不外乎編寫頁面,編寫交互邏輯和數據通信,一般採用HTTP協議。

這裡涉及到的技術點比較多,我的經驗是

直接通過一個完整的Demo源碼來邊學邊做是比較高效的學習方法,這個Demo最好足夠簡單,但是有完整的邏輯交互和通信過程,比如登錄和數據列表。找Demo可以通過搜索引擎、GitHub、開源中國等平臺。

還有一個值得分享的經驗是要以官方文檔作為主要參考和學習材料,資料夠準確,你也會慢慢就能快速索引到相關知識點。遇到一些不懂的知識點要善於Google 或者百度,一門相對成熟的技術,網上都有很多資料的。

API 服務端

如果說App是可以看得見,摸得著的前端,那 API 就是看不到的後端了。這一塊的技術就更復雜了,你的App用戶是1000人,1W人,100W人,後面系統的設計複雜度是完全不一樣的。當然,這裡不去討論負載均衡、分佈式設計這些複雜的東西,當前我們能搭建一個簡單的web服務就好了。

雖然我自己用 Java 比較多,但如果你是剛開始接觸後端開發,你可以試一下 expressjs,上手很快,對於簡單的接口開發是足夠啦,語言是 JavaScript,剛好你可以結合一下使用 Reactive Native 來開發App,降低了不少學習和開發成本。

後臺管理端

這個是用來方便你後面運營App用的,比如要錄入一些資料,管理用戶等。要完成這個,在懂得寫接口的基礎上,你還要學習怎麼編寫網頁。

如果你前面的事情都能搞定,那 HTML 和 CSS 這些對你來說就是小菜一碟了。如果你還有精力的話,你可以順便把 vuejs 也看一下,這裡推薦一個後臺模塊:vue-element-admin。

如果實在學不動了,也可以用 boostrap + jquery 來搭建一套視覺還不錯的後臺系統。

到此,你的 App 就算是完成了,測試和上架那些就不提了。推廣和運營又是另外一個話題了,有機會再聊。

補充學習資料:

  1. Flutter實戰
  2. 阮一峰 JavaScript 教程
  3. 廖雪峰 JavaScript 教程
  4. HTML/Css W3School 中文教程

本文由 Agile Studio 工作室原創,轉載請附上下面鏈接:

http://blog.nowait.xin/Learn-To-Build-An-App/

關於我們:

我們是一支由資深獨立開發者和設計師組成的團隊,成員均有紮實的技術實力和多年的產品設計開發經驗,提供軟件定製服務。


分享到:


相關文章: