作者LaPass (LaPass)
看板java
標題Re: [問題] 跨平台之 dll 制作
時間Thu Sep 12 12:38:34 2013
: 小弟最近手邊新來的專案有跨平台需求,目前沒完全決定要跨哪些平台,
: 有幾個問題想請教。
: [1] Java 到底可以跨哪些平台?
: 一份具有 GUI 設計之 Project
: 就我所知 Java 是可以跨 Windows, Linux, 但我不知道同一份 code
: 能不能編完 class 後也讓 Andriod, ios 之 VM 也能正常執行 ?
: 如果要達成這需求,是否有公認 UI 移植性最高之 library 可用?
正常狀況下OK,但是android上的java有點不一樣
在android 2.3的時候沒有DEQUEUE什麼容器物件,還是什麼東西的樣子,我忘了
要不然class移過去是可以直接跑的
但是,別用到GUI,能跑的是純粹的程式部分
像是UI之類的沒辦法通用,或是叫到ANDROID底層的功能也沒辦法通用
把「功能」跟「界面」拆開會比較好處理
: [2] 呼叫 dll 問題
: 假設一些較低階、極需速度需求的動作 (如和硬體溝通),
: 一般在 windows 底下,會先用 C 寫 dll 出來,而複雜 UI 部份交由較高階之程式
: 語言處理 (如 C# / Java / BCB / MFC , call dll),回到上一個問題時,
: "假設" Java UI 可跨 windows / linux / Andriod / ios ,那在底層部份該如何處理?
java UI 沒辦法跨到Android跟ios上
而且,我記得windows跟linux在叫到系統的東西時也都不同
C裡面會出現一堆 #if 之類的東西
: 是 windows 底下寫個 dll , linux 寫個 .so 嗎? 這樣針對每個 os 不就
: 都要寫一份動態連結?還是要速度快的話就只能這樣搞了?還是這是個矛盾問題?
: ( 矛盾指的是,
: 要移植性,底層也用 java 完成,但 java 底層和硬體溝通部份也可跨平台嗎?
: 要速度的話,底層就必須針對每個 os 開發一份動態連結?)
如果是需要連網路的話,我看過一個我覺得很鳥的做法
實際上也跑的還可以,也能夠符合客戶需求.....
在各種平台上,各寫一支程式
這程式只有一個功能,就是──把瀏覽器包進去
打開程式時連到指定的SERVER
把程式的功能、UI都寫在SERVER端
全部都用html跟javascreipt去寫
如果是動到系統底層的部分,例如取得通訊錄等部分
再想辦法改javascript的解釋引擎
自己多加功能進去...
另外一種是,我之前去過delphi的發表會
有看見它們推出能跨wundows、android、ios的解決方案
但我完全沒用過,也沒辦法給些實際的意見
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.121.86
※ 編輯: LaPass 來自: 111.252.121.86 (09/12 12:39)
→ swpoker:支援跨平台不少~但都是幫你轉成該平台實際的程式碼 09/12 13:37
推 Killercat:其實就算沒有 error log也會清楚指出缺了什麼 09/13 07:29
→ Killercat:不過javax包缺一狗票倒是真的..... 09/13 07:36
推 EdisonX:報歉這幾天沒空上來看,謝謝你的回覆 :D 09/14 23:03
→ EdisonX:delphi 提出跨多個 os 的方案我有點吃驚說,以前這東西快被 09/14 23:06
→ EdisonX:淘汰了說 ( 話說限制推文時間也太長了吧 @@ ) 09/14 23:09
→ danny8376:其實是鼓勵我們超過一行就回文(X 09/15 00:26
推 Killercat:delphi...業界我只知道網龍還在用 09/18 14:41