要製作一款應用,需要如何從零開始學習編程?

因為是設計師,所以對人的需求很敏感,常常產生各種app的創意,但是由於現在也沒有創業的打算,所以打算自己業餘時間做幾個出來看看先。應該先學什麼語言?進階再怎麼學?

PS: 我是工業設計剛畢業,沒學過編程


對於題主的問題,我自己也有過類似的需求,我並非職業程序員,由於多年的工作關係,有點編程的基礎。我同你一樣,也有不少自己的想法想試試看,所以我一直在尋找一個快速的開發框架。所謂快速包含兩層意思,學習速度快和開發速度快。經過仔細的思考和比較。最終選擇了Corona SDK,https://www.coronalabs.com/products/corona-sdk/,來進行App開發。最終可能還是會回歸iOS SDK即Objective-C,或者其他開發語言,比方說C#,但是目前我感覺Corona足夠了。跟你說一下我選擇的理由:

1. Corona SDK是一個多個Mobile平台的二次開發框架。簡單地說,Corona把Android和iOS等的SDK進一步封裝起來,提供了更加簡潔和快速的功能。好處是簡化開發,速度比較快,新手看看教程很快就能上設備跑App;壞處是受到Corona本身的多一層限制,很多SDK的功能無法用到。

2. Corona使用的是一個輕量級的腳本語言Lua。相對來說,Lua的學習成本要遠比OC,Java或者C++ 來的低。儘管本身功能上的確有不少限制,但是對於輕量級的開發,還是利大於弊的。

3. Corona在此類工具中算是最流行的幾個之一,所以相對的用戶數量多,資源也多。Corona的價錢也不算太貴,如果只是跑跑模擬器的話,甚至可以一直免費使用。

不過你要注意兩點:

1. 最最基礎的編程知識還是需要的,對於Corona本身,官方網站上的資料足夠了;對於Lua語言,你只要精讀這本書就足夠了,http://www.amazon.com/exec/obidos/ASIN/8590379825/lua-pilindex-20;而基礎的編程知識,有很多學習途徑。推薦你看看一些編程基礎的公開課,比方說斯坦福的CS106A。

2. Corona輕快,但是將來是不是能夠成為你的開發主力,要見仁見智。我的最終目標還是回歸到原生SDK開發,當然也有可能是進一步使用C#進行Unity的開發。其實走完一個App的開發流程,即使再簡陋,也是獲益無窮。

工具只是手段,表達自己才應該是真正的終極目標。

最後做個小小的徵集,希望大家不要介意。我使用Corona開發的Puzzle遊戲Eighty-Eight馬上要進入Beta測試階段。該遊戲是受到Drop7的啟發,我本身就是Drop7的愛好者,但是對於該遊戲有諸多不滿,索性自己做一個進行改進。如果有興趣參加測試,幫助我完善這個遊戲,請使用這個鏈接到TestFlight註冊,http://tflig.ht/XPw8I0。目前支持iPhone和iPod。一旦註冊完畢並添加了設備,TestFlight會以郵件的形式進行版本發布。參與者都將會獲贈一套正式版和我滔滔不絕的感謝。


樓主你要……做什麼軟體呢?

iOS軟體?Android軟體?PC軟體?

如果是iOS,請從C++或者C開始學,然後學習Objective-C,然後再學習……iOS軟體製作……

如果是Android,請從C++或者C開始學,然後學習Java,然後再學習……Android軟體製作……

如果是PC軟體,請從C++或者C開始學,然後學習UI構架,然後學習……PC軟體製作……

總之,請先從C++或者C開始學,最起碼的編程認知還是要有的……

不過現在基本上每個「程序員」都有自己的學習道路,比如肯定會有人站出來說我『一派胡言』,然後宣傳『HTML拯救世界』言論……

還會有人出來噴我『Android從Java開始學就好了』……

嘛……通向程序員的道路是有很多的……不過最後堅持走下去的人不多……

希望樓主能走下去吧……

關於學習耗時,本人學習C++用時3個月吧,點到為止了,之後Java也是,Objective-C也是,C#也是……

不過這個還是看個人,我自認為學業不精,只能在後期通過大量代碼來累積知識,不過現在倒也有App上架Google Play和App Store,所以若我和樓主現在狀態一樣,估計也就需要一年的時間來完成第一個App吧……

最後希望樓主一路順風吧……


推薦個網站http://www.marschen.com,陳老師的視頻不錯,我這幾天剛開始學習java語言


針對 @Avatar Ye 提到 Corona SDK說兩句吧

Corona SDK 可以在 win 下跑,也可以免費一直讓你試用。至於購買授權,有分 pro 和 Enterprise。

購買 Pro 就可以發布正式版提交到 app store 或者 google play。沒錯,就是google play。Corona SDK 一次編寫,就可以編譯 apk 或者 ipa 。我相信你懂這個意義的。但是 pro 版是要你把代碼上傳到 Corona 的伺服器編譯的。

Enterprise 除上面說的功能外,還會提供一個編譯環境。就是你沒必要把代碼什麼的上傳到官方伺服器了。你可以自己折騰了。真的是折騰啊,可以集成原聲的開發啊(oc 或者 java)。

暫時想這麼多了


可以試著用qt quick實現一個原型,掌握基本的js和qml即可,非常簡單。


我也是學的工業產品設計,轉行做SEO,去年尾接觸代碼,但這條路不是一般難走,必須得任受得了孤獨和各種誘惑,因為學編程不是一般複雜,邏輯力要求很強,累奔、


推薦個冷門的吧 Delphi 在rad xe2後支持firemonkey可以跨平台了 不過rad價格很高


推薦閱讀:

為什麼手機客戶端的搜索入口或者搜索框大部分都在頂部,在大屏手機中明顯是難點擊到的?

TAG:Android開發 | 交互設計 | 編程入門 | iOS開發入門 |