※ 引述《dream1124 (全新开始)》之铭言:
: 你这种想法就叫作把 java 当成 js 来写。
: “跑在浏览器”上的 javascript 跟 java 的执行环境不同,你是要怎么互相模拟?
: java 是作业系统级的程式语言,能做的事情比“跑在浏览器”上的 javascript 多,
: 而且不像这种 js 动不动就有各种安全限制。
任何环境的转换本来就有诸多限制,重点是在所需需求下,
可以满足最低交集需求,剩下部分做一些细节修改,
能达到目的满足,省去重工,就是一个可以应用的技术.
: 浏览器上的 javascript 根本没办法完全实现所有 java api 做得到的事,这样你要
: 怎么把既有 java 写成的程式转换过去? 很多程式你根本转不了啊~~
: 你说,我可以限定要转换的 java 只使用某些 javascript 实现得了的 java api 呀,
: 这样是不是就可以实现直接转换了?
: 呃.... 我说这位同学,你为什么要削足适履?
: 再说,既然你写出来的东西都能用浏览器上的 js 实现,那为什么不直接写 js?
: 要是你又说,那我就设计一套 java api 给人呼叫,它能做到的事情跟浏览器相同,
: 编译后会变成 js,我都呼叫这套 api 来写程式应该就能跑了吧?
: 那这东西已经有了! 它就叫 GWT! 我前面推文就说你可以用这写前端了!
你可能不知道C/C++也能应用在页面前端了吧?
Quake 雷神之垂 或是超任模拟器 zsnes 透过编译转介,
原本desktop app,变成在浏览器上执行,
这些技术概念跟你说的GWT在前端生UI的方式是两回事,
你自己可以多google了解一下相关介绍,
当你了解为什么会有类似的想法和实作,
你或许就不会问 "那为什么不直接写 js".
: 而且它还不是以程式语言底层 vm 的观点设计,是用 MVC 应用程式的观点设计,
: 你可以用比较轻松一致的角度实现你要的功能。
: 更别提这两种语言的特性差很多,直接转换就算技术上可行也没什么实用价值~
有没有啥实用价值是看你怎么去用,有没有想到怎么去用
否则llvm和emscripten asm.js之类的技术早就没人理了
: 你说那人家 rollapp 又怎么做到的?
: 人家 rollapp 是 chrome 提供额外 api 加持的 chrome app,又不是纯粹的 web app。
rollapp跟chrome提供额外的api加持应该是没啥关系
依照官方所宣称至少还支援 Mozilla Firefox or Safari.
: 果然 chrome app store 里面也是一堆负评,看得我连试用帐号都懒得办了。
技术归技术.个性归个性,每个人有每个人的风格和生活方式,
但影响到所见视野和乐趣的,常常是无关技术而跟人态度或是理念有关之类的东西,
工程师百百款,自由的.