Re: [請益] 手機程式開發與兼顧硬體能力

看板Soft_Job作者 (世界的盡頭)時間14年前 (2011/09/24 18:54), 編輯推噓11(1108)
留言19則, 11人參與, 最新討論串1/4 (看更多)
※ 引述《m13m13m (奇怪 還沒收到??)》之銘言: : 聽我們一位上課的老師說: : 它有請大學專題生在andoird上開發軟體,可是最後都很慘 : 慘在:很容易當機,因為他們沒有考慮到手機是embedded system : 系統資源有限... : 我想請問各位有開發過手機軟體的工程師們,這樣子的話, : 如果學習一些相關embedded sys的技術會比較好一點嗎? 非常有幫助。甚至說這是一個合格的手機程式設計師必須 要有的基本能力。 簡單來說,這大概等於下面這個問題: 寫Windows程式需不需要知道系統的內部運作狀況。 : 我的疑問是:可是他們可是用不同的語言:arm...(不好意思我不熟) : 但應該是C 或是 assembly lang. 反正不是OOP的lang. 這個問題和語言是沒有太大關係的,主要是你必須了解這個OS在設計上 的邏輯,OS本身對資源處理的分配方式,以及OS的限制。 這可以讓你在做一些決定的時候少走很多彎路,你對這個系統的了解 會影響你判斷問題下的決定,比如說之前有人問了個問題: 在Android上用OpenGL畫了東西上面有沒有辦法擺button? 對系統不清楚的人應該會說試試看就知道,但是如果你熟Android怎麼 處理surface,怎麼畫出UI,surface flinger怎麼處理畫面,相信 你聽到這個問題就會知道有哪些方向可以做。 BTW,Android是個很特殊的系統中間層用了非常大量的C++, 不過程式語言和需不需要熟系統沒有什麼關係。 : 所以重點是在於要懂底層的語言和技術還是要把程式寫得很OOP : 、很重視記憶體資源的使用、很懂的OS 還是? : 謝謝! : p.s: 在這Po文是因為這裡有許多工作多年的前輩 : 想請益你們的經驗 你對底層知道得越多,你寫起上層越得心應手.... 理論上是這樣啦,實務上寫軟體的多半會覺得寫driver真是他媽無聊。 而且台灣會寫driver的人還不少,但是熟系統架構的人不多,這塊算是 純軟要切進embedded system很好的進入點,因為現在的系統通常driver 和中間層都切的蠻乾淨了,出了driver基本上就是純軟的天下。 而且系統越來越複雜,中間這層已經不是寫firmware和driver的人可以 處理的,對純軟來說非常有利,舉個實際的例子,今天要在Android上 實現外接TV輸出,台灣的硬體廠RD大概只能在driver這層動動手腳, 其他的部分多半無能為力,但是抓CyanogenMod的原始碼來看,中間要 動到EGL, gralloc這些亂七八糟的東西,其實是非常複雜的一個問題, 這個不是純軟來看多半直接放棄不改。 錢會不會比較多就不一定了,畢竟台灣還是以硬體主導軟體的產業走向。 但是純就學東西來看,閱讀這些底層的原始碼對你的程式設計技巧有 非常大的幫助,加上吸收到的OS概念,對新手可說是很好的歷練。 以Android來說的話,你可以學到系統怎麼去管理視窗,怎麼做 消息傳遞,怎麼處理使用者輸入,怎麼讓畫面顯示到手機上, 這些通通有原始碼可以看,而且都是高手寫的code,質量有保證, 花時間下去追是非常划算的。我自己是越讀越覺得這些人的腦袋 真的不知道怎麼長的,裡面一堆加速的奇怪技巧,受益良多。 -- Beware of bugs in the above code; I have only proved it correct, not tried it. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.193.107

09/24 21:15, , 1F
好文先推 內容待我慢慢品嘗
09/24 21:15, 1F

09/24 21:35, , 2F
了解
09/24 21:35, 2F

09/24 21:55, , 3F
有看有推。
09/24 21:55, 3F
※ 編輯: iincho 來自: 114.32.193.107 (09/24 22:02)

09/24 23:03, , 4F
有專業分享有推
09/24 23:03, 4F

09/24 23:45, , 5F
09/24 23:45, 5F

09/25 18:47, , 6F
推看Android Source Code可以學超多
09/25 18:47, 6F

09/25 23:28, , 7F
有個問題是Android framework source code量超大,沒幾個
09/25 23:28, 7F

09/25 23:29, , 8F
月肯定是看不完的,在學校或是剛畢業可能還有時間,等工作
09/25 23:29, 8F

09/25 23:30, , 9F
幾年,每天被進度跟客戶追到死時,還能不能找出時間來看完
09/25 23:30, 9F

09/25 23:31, , 10F
這麼龐大的東西是大問題,除非工作直接就會用到,不然我想
09/25 23:31, 10F

09/25 23:31, , 11F
是很難吧
09/25 23:31, 11F

09/26 10:24, , 12F
有技巧的....有興趣我找時間寫一寫....
09/26 10:24, 12F

09/26 11:36, , 13F
願聞其詳...工作一段時間後要找時間學習大東西,除了工作
09/26 11:36, 13F

09/26 11:36, , 14F
本身相關以外,真的不容易,有方法的話是相當好的
09/26 11:36, 14F

09/26 13:14, , 15F
期待新的一篇
09/26 13:14, 15F

09/26 21:09, , 16F
期待+1
09/26 21:09, 16F

09/26 23:01, , 17F
期待 ++
09/26 23:01, 17F

09/26 23:01, , 18F
另外…大大可以推薦一些書籍嗎?謝謝 :D
09/26 23:01, 18F

09/28 10:51, , 19F
期待+1
09/28 10:51, 19F
文章代碼(AID): #1EVRRDDd (Soft_Job)
文章代碼(AID): #1EVRRDDd (Soft_Job)