要製作一款應用,需要如何從零開始學習編程?
因為是設計師,所以對人的需求很敏感,常常產生各種app的創意,但是由於現在也沒有創業的打算,所以打算自己業餘時間做幾個出來看看先。應該先學什麼語言?進階再怎麼學?
PS: 我是工業設計剛畢業,沒學過編程
對於題主的問題,我自己也有過類似的需求,我並非職業程序員,由於多年的工作關係,有點編程的基礎。我同你一樣,也有不少自己的想法想試試看,所以我一直在尋找一個快速的開發框架。所謂快速包含兩層意思,學習速度快和開發速度快。經過仔細的思考和比較。最終選擇了Corona SDK,https://www.coronalabs.com/products/corona-sdk/,來進行App開發。最終可能還是會回歸iOS SDK即Objective-C,或者其他開發語言,比方說C#,但是目前我感覺Corona足夠了。跟你說一下我選擇的理由:
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價格很高
推薦閱讀: