※ 引述《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 裡面也是一堆負評,看得我連試用帳號都懶得辦了。