※ 引述《erspicu (.)》之铭言:
: 并不是把JAVA当JS来写阿 这是把JAVA编译成JS 在浏览器中去执行
: (应该是有实作jvm在js上的最小实作吧?)
: 做得好的话 可能会有怎样的应用跟效果?
: https://www.rollapp.com/apps 参考看看
: 原本都桌面软件 全部都跑到浏览器上了
你这种想法就叫作把 java 当成 js 来写。
“跑在浏览器”上的 javascript 跟 java 的执行环境不同,你是要怎么互相模拟?
java 是作业系统级的程式语言,能做的事情比“跑在浏览器”上的 javascript 多,
而且不像这种 js 动不动就有各种安全限制。
浏览器上的 javascript 根本没办法完全实现所有 java api 做得到的事,这样你要
怎么把既有 java 写成的程式转换过去? 很多程式你根本转不了啊~~
你说,我可以限定要转换的 java 只使用某些 javascript 实现得了的 java api 呀,
这样是不是就可以实现直接转换了?
呃.... 我说这位同学,你为什么要削足适履?
再说,既然你写出来的东西都能用浏览器上的 js 实现,那为什么不直接写 js?
要是你又说,那我就设计一套 java api 给人呼叫,它能做到的事情跟浏览器相同,
编译后会变成 js,我都呼叫这套 api 来写程式应该就能跑了吧?
那这东西已经有了! 它就叫 GWT! 我前面推文就说你可以用这写前端了!
而且它还不是以程式语言底层 vm 的观点设计,是用 MVC 应用程式的观点设计,
你可以用比较轻松一致的角度实现你要的功能。
更别提这两种语言的特性差很多,直接转换就算技术上可行也没什么实用价值~
你说那人家 rollapp 又怎么做到的?
人家 rollapp 是 chrome 提供额外 api 加持的 chrome app,又不是纯粹的 web app。
用 javascript 写的应用程式又不一定就是 web app。
你提的 applet 现在没落就是因为各大浏览器不再加持了呀~
更何况一味模仿桌面环境,没针对浏览器重新设计适当 ui 的程式从来就没搞头。
果然 chrome app store 里面也是一堆负评,看得我连试用帐号都懒得办了。