我想Applet应该是更好的选择。功能更强大,你说的快捷键和窗口切换都可以实现,可以非常方便的和Servlet进行通讯。

解决方案 »

  1.   

    Applet在局域网中下载速度如何? 
    我的产品有着很严格的权限控制, 客户端是一个exe(类似oicq的toolbar), 每个模块是dll.
    exe用com调用dll, 调用dll有权限, 每个dll还有具体的功能权限. 
    同时是多语言版本(gb+ big5).
    如果所有的模块都开放的话, 客户端大约是7-8M的样子.
    请问: Applet可以实现多语言版本吗?
      

  2.   

    我提com, dll可能超出这个话题范围了.
    如果用applet的话, com, dll可能就要放弃了.请问用applet有什么局限性吗?
      

  3.   

    APPLET当然可以实现多语言版本。如果你在局域网中,那么APPLET下载的速度不是什么问题,APPLET本身的安全限制应该也不是问题,因为可以设置为”可信站点“,剩下的问题就是APPLET写出来的东西可能不如你原来Delphi的东西界面好看:)
      

  4.   

    请问gyf1024您以前用applet做过这样大型的系统吗? 
      

  5.   

    javascript我不是很在行,可個人感覺讓它在客戶端實現這種按F6出現一個新窗口的功能可能有些勉為其難了(但我并沒有說不可能實現).其實,客戶端的"動"用javascript是最好的選擇,可是對你的這些要求,能用javascript實現固然好(我個人認為這是最好的選擇,最好請某個js高手研究一下),但實在不行,用applet完全可以實現,但必須要求你的應用是在局域網中,否則,速度上絕對讓人忍受不了.至于其多語言版本的問題,目前java也沒問題(其實一說多語言問題,我就忍不住5555555,我為它可傷透了腦筋!!!)
      

  6.   

    呵呵, patpat, 这个"他"是泛指, 并没有歧视的意思.
    况且我知道这个论坛藏龙卧虎, 任何一个人都非泛泛之辈.
    若您是女中豪杰, 我更是佩服之至. 
    若您能解决这个问题, 我可以拜您为师.ltree, 您见过此种产品吗? 若有, 请告知url. 让鄙人也看看眼界, 
    借鉴借鉴高手们的宝贵经验.
    为什么客户端的"动"用javascript是最好的选择? 可否指点一二?
      

  7.   

    既然你对Delphi很熟,为什么不试一试ActiveForm呢?解决你的问题绰绰有余.
      

  8.   

    whoo, 您的名字和我的很像嘛. 我的名字开头也是wh. :)
    正因为我对dcom, com, ActiveForm这些东西太熟, 所以我知道ActiveForm对我提出的要求是不能满足的. 
    谢谢您的回答
      

  9.   

    我用applet写过一个在线交易——与后台程序进行Socket通讯。对于你这个需求,我想JS可能会有问题,因为,JS无法保证源码的安全性。
      

  10.   

    1:關于這樣的應用,我還真沒見識過.不過俺個人正在用Jsp,Serverlet,EJB等實現一個web應用,但對客戶端的動沒那么高的要求.
    2:客户端的"动"用javascript是最好的选择原因有三:
    第一是速度,第二是速度,第三還是速度!
    用applet實現,沒有大內存,恐怕是......不過,俺現在用的是Dell 420 Workstation, 早就忘了過去的苦日子,呵呵...
      

  11.   

    對不起,我不是高手,但以前我也用 java 開發過程式 雖然,我不太懂 javascript,但用編寫過 但,就我個人意見認為,javascript 不是你需要的東西 
    老實說,它的能力不是甚麼都能做得來,也不知道那些大蝦
    為甚麼建議你使用 javaScript ( 或者我見識低微吧 ) 
    但就安全性來看,你就不該用它了. java 語言是個相當好的選擇,但 java 語言不是只得 applet 
    雖然你可以用它去開發你的 Project,但就我看來你以前的
    程式應該是 windows 的程式,也就是單一的應用程式
    ( stand Along Program ),其實 applet 不是 java 的主要應用
    Stand Along Progrm 才是,我以前也是開發 java Stand Along 
    Program 的,雖然不是甚麼大程式,但我想 java 應能提供你想要
    的功能.但是如果你決定用 java 開發你的應用程式,你必須清楚 java 
    并沒有和 vb,vc,dephi 那樣強的界面控件,所以你必須花很多時
    間去開發界面,因為 java 提供的界面功能過於簡單.(如果你想
    有個漂亮界面的話 ).對於你己經開發的程式,例如 dll,你可以用 java 的 jni 接口
    xx續使用你的成果,但你得有一點點 c & c++ 的語言能力.因為
    這個接口要用 c & c++ 寫一點點程式的( 我不知道其它程式語
    言行不行,因我只用過 c & c++ 去做 )   java 還有許多其它的接口,它一定能胜任你的需求,但我想如果
    用 java 去開發,開發期不如你用 dephi 的開發期快. 想想 java 吧,它一定會帶給你惊喜 
      

  12.   

    Java Stand Along Program 和 Applet 
    一樣能實現網絡的功能,你實現程式時
    大部份是沒有分別,只是 Applet 只能在
    Browser 內運行,而且限制非常多 
    而 Java Stand Along Program 是和普通 
    應用程式一樣的運行的,當然要在 vm 上 
    .........
      

  13.   

    tiger兄:看了你的问题我想你是贴错地方了。:)因为你并不需要Java的跨平台特性!那又何必用它?你知道它跑得有多慢吗?跑一跑JB4就知了。
    如果您的软件改成 html+jsp+ejb 将要花多少时间?想玩JAVA也不用这么让费吧?我想,你既然已经有了一个基于DCOM的成熟应用,你的商业逻辑(经常要改的部分)肯定(我不能肯定)是做成COM在application server 上跑的吧。如此每个点只需升级application server即可。如果你的界面需要经常修改的话,你可以把那部分也分出来,做成COM放到application server 上去。
    如果你连一个点一次也想省掉,你可以同样有很多方案解决,比如:
    写一个专用于版本控制、更新的 com  在每个点的applciation server 上跑。
    另写一个com 在你们公司的 SERVER上跑。
    这两种com 建立一个通信机制进行版本同步和更新, Client application 也可能这样处理。EJB、JSP也是在applicaton server上跑的,也要每个点升级一次,只不过DHTML是和applet也放在WEB SERVER上,每个点只需升级一次。但是你的client application 也可以放在file server 上的呀!!
      

  14.   

    applet 太慢,
    我做过一个项目,后来全部该成 OCX
    建议你不要用
      

  15.   

    过了一个愉快的周末. 谢谢大家的回答.
    ken88兄, 您回答得很详细, 谢谢, 不过我想您误解我的意思了. Client肯定还是用windows平台. 这是由移动联通的工作人员的素质决定的. 我只是想解决经常升级Client端所带来的麻烦. 我并不想用java开发Client端的stand alone程序(我知道那是自找死路, ^_^), 但从您的问答看来您对java有一定的研究, 希望以后还能多多指教. 谢谢
    continue兄, 我想我没有贴错地方, 目前可能是不需要跨平台性, 但我希望我的平台有很好的扩展性, 所以我选择了corba. 以后如果有用到windows的地方, corba也可以很好的胜任. 另外, 硬件不是问题, 您知道, 移动联通在这方面是不在乎的, 只要稳定, 稳定压倒一切, 所以, 说java慢那是在一定范围之内的. 软件改版也并是我一个人的问题, 而是我的开发组的问题. 如果能搞出我要求的方案, 对于以后的方便, 增加点开发时间算什么? 一次一个点这个是不用考虑的,因为公司和工程现场有modem对接, 只要连上就可以访问对方的局域网, 可以远程替换, 麻烦的就是Client端, 不错, Client端是可以放在file server, 但是您说谁会去更新呢? 移动联通的人吗? 别做梦了. 最后, 请问怎么样把界面放到application server, 而能显示在Client端(用dcom)? 
    guostong兄: 能说说您的项目的一些具体情况吗? 
    各位大侠, 我想如果我们能探讨出一种模式, 是不是对大家都有益? 事情不光要做, 也需要做完了思考思考的.
    再提一句, 今天是我的生日. 我很快乐. ^_^
      

  16.   

    生日快乐!老虎兄弟
    你的思路是很好的,我也来关注关注,希望高手们别吝啬话语,多谈谈,我也有好多分数呢客户端的易操作性一直是我讨厌做的事情(shy),但是我想既然是人使用,也就别太局限了,这是个习惯问题,有键盘的快捷也好,但是能良好的组织界面和操作流程同样重要。就我知道的来说
    1:按回车进入下一个窗口,这是很基本的,大家都应该用过。
    2:ctrl+c,v这个是基本的,应该不用编程。ctrl+f,F6等功能,应该是用javascript对当前frame监听keyboard事件。
    3:applet对于中国目前的网速来说,的确还是慢了点,而且还有刷新啊位置啊什么的问题,还要人家更新jvm,更新html。你们真的用CORBA吗?能告知你们的ORB工具吗
      

  17.   

    谢谢您, airwing兄. ^_^我想想javascript也许是可行的. 因为如果只是用javascript实现易操作性, 应该不难吧? 至于别的大侠说javascript的安全性不好, 我还不是很明白. 是不是可以用jsp弥补这个安全性问题?至于按F6出一个新窗口这个问题, 我想既然用了网页, 是不是可以把他变成一个链接? 既如果收到f6按键, 就把他当成按了一个链接, 去另一个网页.
      

  18.   

    呵呵,js的安全性不好应该是针对客户端而言的,因为恶意的js代码会有损客户的安全。这你应该不要担心。所以也不存在用jsp弥补的问题
      

  19.   

    啊, 如果是这样的安全性问题, 好像对我的要求是风马牛不相及嘛.airwing兄, 可以做一个小小的关于js按键的例子吗? 我提及过的按键都模拟一下.另外, 禁止访问未授权的网页是不是有很多种方法?
      

  20.   

    我想,既然是在一个可信任的网中,为何不用
    是VB ActiveX文档呢?他是一种基于浏览器的应用程序式界面的页面,
    你可参考VB6.0或者是VB ActiveX dll,VB activeX exe (COM)
      

  21.   

    gaoql兄, 关于您的提法前面已有说到, 我不想用dcom/com的东西.airwing兄, 有空吗? 如果能做出那样的例子, 我给您1000分吧. 别的大侠参与回答的多少都有分. 谢谢.:)
      

  22.   

    停!很多种输入法在applet上有问题(不能输入或者不能输入标点和数字),除非指定使用微软拼音。繁体输入法问题更多。
      

  23.   

    呵呵,好多啊!实在对不起,说过我也不是很熟悉JS,原来也只是猜测的。刚刚查了查资料,JS好象是不能控制键盘的。只有象
    回车:能提交一个表单,这以后你可以控制打开一个新页面。
    TAB:能够在页面元素里切换顺序。
    CTRL+A、C、V、Z:在可编辑元素里能够使用。
    ALT+F4:关闭一个页面以上是不用编程的,当然也是针对WINDOWS平台的。其他的热键是不能通过JS编程实现的,建议还是通过良好的界面和操作流程设计来实现易操作性。
      

  24.   

    呵呵,好多啊!实在对不起,说过我也不是很熟悉JS,原来也只是猜测的。刚刚查了查资料,JS好象是不能控制键盘的。只有象
    回车:能提交一个表单,这以后你可以控制打开一个新页面。
    TAB:能够在页面元素里切换顺序。
    CTRL+A、C、V、Z:在可编辑元素里能够使用。
    ALT+F4:关闭一个页面以上是不用编程的,当然也是针对WINDOWS平台的。其他的热键是不能通过JS编程实现的,建议还是通过良好的界面和操作流程设计来实现易操作性。
      

  25.   

    要解决客户端的零管理功能,又要有较高的执行效率,可以看看 JavaSoft 最新的技术:
    http://java.sun.com/products/javawebstart/
    解决了 Applet 智能更新小模块,而主要代码常驻客户端的要求(不需要每次下载)。
    扔了 js 吧,太弱了,Applet + Swing 的界面足以满足你的要求。
    Applet + Servlet + EJB 
                     + JDBC 应该可以满足你的要求。
    电信计费系统中有些厂商的架构就是这样,而且通过的电总的压力测试。
    让 webstart 来管理 applet 的更新。
    其实 EJB 也可以和 COM 通讯,Javasoft 也有产品(好象是免费的)。
      

  26.   

    用JS能实现你所要的功能,可以参考HTTP://RYP.163.NET
      

  27.   

    用普通的client端有个办法:
    嵌入一个ie的browser(让不让用户看到都无所谓),然后操纵里面的dom元素,或者里面的applet,或者javascript、vbscript等,并且可以提交数据(可以在browser用户填,也可以用client程序来自动填)。安装的时候可以用普通的installshield作(用applet的话,可以把jar文件打包进去),升级也可以通过网络升级(client的附加文件或jar文件等),安全问题可以通过修改java.policy或者修改java plug in 中jvm参数来解决。服务器端可以用java也可以用其他cgi技术,毕竟人人都可以联到corba。为什么不建议选window internet api或者corba直接联?个人认为,如果可以操纵webbrowser的话,可以将开发的精力集中在应用,不必太在意是否只支持java或者com上面,是否需要自己打包参数等。
    纯的web应用确实有些限制,而且像这种项目确实没必要单纯用浏览器,可以采用跟传统client结合的办法,让用户升级新版本的时候,减少培训的工作量,用户接受也更方便。:)
    mail: [email protected]
      

  28.   

    多谢各位. 说来说去, 纯html好像不是最佳的方案.
    用simoncn兄所说的Applet + Servlet + EJB + JDBC 吧. ahfei兄说输入法会有问题.
    看来只有自己写升级模块了, 但如果下次升级模块也要升级...... 呵呵
    Tommy兄, 好久没有你的消息了, qq上也见不到你. 现在在哪儿高就啊? 你说的话我感觉跳跃很大, 看不懂.
      

  29.   

    其实html4.0中有很多新的tag可以让网页act much more like normal window.
    比如通过快捷方式选择checkbox等等.建议参考一下html4.0手册.
      

  30.   

    简单来说,就是单纯在浏览器中做东西,有些操作方式让传统用户不好接受,那么可以通过扩展webbrowser来走一条既可以让可户习惯,又具有b/s优点的道路。to tiger:
    我现在北京,你好象也是在北京吧。有空出来坐坐?
    来封email到[email protected]
      

  31.   

    Tommy, 听说你现在在informix, 做什么呢?我不在北京, 在杭州. UTStarcom. hehe你的oicq怎么不上了?
      

  32.   

    我想就你现在的要求看,客户端容易升级似乎非常重要,而且似乎客户端一定要用brow
    se
    如果是那样的话,我建议你用html+applet+jsp或html+applet+asp+com
    两者差不多,客户端用applet功能已经是足够强大了,如果服务器端用asp+com技术你还
    可以重用很多以前的东西。在局域网里applet下载实在是太快了,根本不是什么问题,
    广域网差些,可是在browse/s结构下,用别的方法似乎也快不了多少,另外还有些方法
    可以利用!
    至于安全问题browse/s结构下无论哪种方法都得考虑,所以嘛不是争论焦点,一般的安
    全还是比较容易做的。