※ 本文為 kewang 轉寄自 ptt.cc 更新時間: 2011-09-30 10:27:03
看板 Soft_Job
作者 標題 Re: [請益] 手機程式開發與兼顧硬體能力
時間 Sat Sep 24 18:54:01 2011
※ 引述《m13m13m (奇怪 還沒收到??)》之銘言:
: 聽我們一位上課的老師說:
: 它有請大學專題生在andoird上開發軟體,可是最後都很慘
: 慘在:很容易當機,因為他們沒有考慮到手機是embedded system
: 系統資源有限...
: 我想請問各位有開發過手機軟體的工程師們,這樣子的話,
: 如果學習一些相關embedded sys的技術會比較好一點嗎?
非常有幫助。甚至說這是一個合格的手機程式設計師必須
要有的基本能力。
簡單來說,這大概等於下面這個問題:
寫Windows程式需不需要知道系統的內部運作狀況。
: 我的疑問是:可是他們可是用不同的語言:arm...(不好意思我不熟)
: 但應該是C 或是 assembly lang. 反正不是OOP的lang.
這個問題和語言是沒有太大關係的,主要是你必須了解這個OS在設計上
的邏輯,OS本身對資源處理的分配方式,以及OS的限制。
這可以讓你在做一些決定的時候少走很多彎路,你對這個系統的了解
會影響你判斷問題下的決定,比如說之前有人問了個問題:
在Android上用OpenGL畫了東西上面有沒有辦法擺button?
在Android上用OpenGL畫了東西上面有沒有辦法擺button?
對系統不清楚的人應該會說試試看就知道,但是如果你熟Android怎麼
處理surface,怎麼畫出UI,surface flinger怎麼處理畫面,相信
你聽到這個問題就會知道有哪些方向可以做。
BTW,Android是個很特殊的系統中間層用了非常大量的C++,
不過程式語言和需不需要熟系統沒有什麼關係。
: 所以重點是在於要懂底層的語言和技術還是要把程式寫得很OOP
: 、很重視記憶體資源的使用、很懂的OS 還是?
: 謝謝!
: p.s: 在這Po文是因為這裡有許多工作多年的前輩
: 想請益你們的經驗
你對底層知道得越多,你寫起上層越得心應手....
理論上是這樣啦,實務上寫軟體的多半會覺得寫driver真是他媽無聊。
而且台灣會寫driver的人還不少,但是熟系統架構的人不多,這塊算是
純軟要切進embedded system很好的進入點,因為現在的系統通常driver
和中間層都切的蠻乾淨了,出了driver基本上就是純軟的天下。
而且台灣會寫driver的人還不少,但是熟系統架構的人不多,這塊算是
純軟要切進embedded system很好的進入點,因為現在的系統通常driver
和中間層都切的蠻乾淨了,出了driver基本上就是純軟的天下。
而且系統越來越複雜,中間這層已經不是寫firmware和driver的人可以
處理的,對純軟來說非常有利,舉個實際的例子,今天要在Android上
實現外接TV輸出,台灣的硬體廠RD大概只能在driver這層動動手腳,
其他的部分多半無能為力,但是抓CyanogenMod的原始碼來看,中間要
動到EGL, gralloc這些亂七八糟的東西,其實是非常複雜的一個問題,
這個不是純軟來看多半直接放棄不改。
處理的,對純軟來說非常有利,舉個實際的例子,今天要在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
推 :好文先推 內容待我慢慢品嘗1F 09/24 21:15
推 :了解2F 09/24 21:35
推 :有看有推。3F 09/24 21:55
※ 編輯: iincho 來自: 114.32.193.107 (09/24 22:02)推 :有專業分享有推4F 09/24 23:03
推 :推5F 09/24 23:45
推 :推看Android Source Code可以學超多6F 09/25 18:47
推 :有個問題是Android framework source code量超大,沒幾個7F 09/25 23:28
→ :月肯定是看不完的,在學校或是剛畢業可能還有時間,等工作
→ :幾年,每天被進度跟客戶追到死時,還能不能找出時間來看完
→ :這麼龐大的東西是大問題,除非工作直接就會用到,不然我想
→ :是很難吧
→ :月肯定是看不完的,在學校或是剛畢業可能還有時間,等工作
→ :幾年,每天被進度跟客戶追到死時,還能不能找出時間來看完
→ :這麼龐大的東西是大問題,除非工作直接就會用到,不然我想
→ :是很難吧
→ :有技巧的....有興趣我找時間寫一寫....12F 09/26 10:24
推 :願聞其詳...工作一段時間後要找時間學習大東西,除了工作13F 09/26 11:36
→ :本身相關以外,真的不容易,有方法的話是相當好的
→ :本身相關以外,真的不容易,有方法的話是相當好的
推 :期待新的一篇15F 09/26 13:14
→ :期待+116F 09/26 21:09
推 :期待 ++17F 09/26 23:01
→ :另外…大大可以推薦一些書籍嗎?謝謝 :D
→ :另外…大大可以推薦一些書籍嗎?謝謝 :D
推 :期待+119F 09/28 10:51
--
※ 同主題文章:
09-24 18:01 ■ [請益] 手機程式開發與兼顧硬體能力
● 09-24 18:54 ■ Re: [請益] 手機程式開發與兼顧硬體能力
09-24 21:43 ■ Re: [請益] 手機程式開發與兼顧硬體能力
09-25 00:32 ■ Re: [請益] 手機程式開發與兼顧硬體能力
09-25 17:30 ■ Re: [請益] 手機程式開發與兼顧硬體能力
09-25 21:49 ■ Re: [請益] 手機程式開發與兼顧硬體能力
09-29 01:25 ■ Re: [請益] 手機程式開發與兼顧硬體能力
※ 看板: FW 文章推薦值: 0 目前人氣: 0 累積人氣: 270
※ 本文也出現在 1 個隱藏看板
※ 本文也出現在 1 個隱藏看板
※
uefangsmith
轉錄至看板 uefacool (使用複製) 時間:2011-10-01 14:55:46
回列表(←)
分享