作者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)
1F:→ swpoker:支援跨平台不少~但都是帮你转成该平台实际的程式码 09/12 13:37
2F:推 Killercat:其实就算没有 error log也会清楚指出缺了什麽 09/13 07:29
3F:→ Killercat:不过javax包缺一狗票倒是真的..... 09/13 07:36
4F:推 EdisonX:报歉这几天没空上来看,谢谢你的回覆 :D 09/14 23:03
5F:→ EdisonX:delphi 提出跨多个 os 的方案我有点吃惊说,以前这东西快被 09/14 23:06
6F:→ EdisonX:淘汰了说 ( 话说限制推文时间也太长了吧 @@ ) 09/14 23:09
7F:→ danny8376:其实是鼓励我们超过一行就回文(X 09/15 00:26
8F:推 Killercat:delphi...业界我只知道网龙还在用 09/18 14:41