開發 Flex 情境 3 -- 爹不疼,娘不愛
A. 2020 :
"Today, Adobe announced its plans to stop supporting Flash at the end of 2020." -- Published Jul 25, 2017 By {Google}/Chrome/Blog (ref : https://www.blog.google/products/chrome/saying-goodbye-flash-chrome/)
這句話的大意:我們Adobe,在2020年底,將停止支援我們自家的Flash。
B. 2015 : 白癡的決定
Chrome 不再支援 NPAPI (Java Applet 所需的技術)
Web 瀏覽器的 Java 外掛程式有賴於跨平台外掛程式架構 NPAPI(Netscape Plugin Application Programming Interface),過去十多年來所有主要 Web 瀏覽器都一直支援這個架構。Google 的 Chrome 版本 45 (訂於 2015 年 9 月發行) 捨棄了對 NPAPI 的支援,受影響的外掛程式包括 Silverlight、Java、Facebook Video 以及其他以 NPAPI 為基礎的外掛程式。
Java 應用程式是透過 Web 瀏覽器,以 Web Start 應用程式 (啟動之後便不需要使用瀏覽器來進行互動) 或是 Java Applet (可以使用瀏覽器進行互動) (註1)的方式來提供。此變更不會影響 Web Start 應用程式,只會影響 Applet。
如果您無法使用 Chrome 來存取 Java 應用程式,Oracle 建議您改用 Internet Explorer (Windows) 或 Safari (Mac OS X)。
尋求替代方式以支援 Chrome 使用者的開發人員和系統管理員,應參閱本部落格中有關 Launching Web Start applications 的部分。(ref : https://www.java.com/zh_TW/download/faq/chrome.xml)
1. 自己的 PPAPI 並未獲得許多的支援,就貿然地停用別人提供給很多開發平台的 Plugin。
2. 雖然手機裝置興起,也不能以此為由。因為手機的UI介面雖新穎,但已經沒有甚麼特別的Content內涵。沒有人會在手機介面寫甚麼豐富的內容。
3. 有誰的平台、外掛、程式沒有安全性的問題。Chrome 的 Plugin 常常耗費許多 OS的資源到OS陷入窘境。
4. 很多剛發展中的好的開發架構,瞬間被迫要被改寫、改版:Silverlight、Web Client與Web Application 的 JSwing with signed jars。
5. Adobe Flash 還有很多有趣的:
"......Flash它擁有AGAL的著色語言,低階API就是stage3D其中AGAL3 的vertex buffer吞吐量與shader code的行數限制更是勝過目前的WEBGL一大截(V.S. : 3Dengine的移植.基本上支援webgl目前除了原生js開發的engine之外,大多採用LLVM的方式將原生程式編譯成ASM.JS的方式.效率雖高,但記憶體卻是倍數成長.). Flash本身也可以透過cross bridge的方式將C++轉編譯成SWF(當然也是同一招LLVM). 至於3D引擎, Flash有第三方原生支援的3Dengine. 至於語言本身.AS3基於EMCAScript規範而去定義的, 它整體的結構與規範的確與JAVA有極高的相似度......" (ref : https://www.techbang.com/posts/41117-flash-is-not-java-dead-lie-flat-oracle-no-longer-supports-the-java-browser-plug-in)
註 1 : 確認 Chrome 支不支援 JAVA APPLET的設定方式:Chrome://flags(ref : https://www.sunnybank.com.tw/public/pdf/%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A%E7%AF%87-2.pdf)
A. 2020 :
"Today, Adobe announced its plans to stop supporting Flash at the end of 2020." -- Published Jul 25, 2017 By {Google}/Chrome/Blog (ref : https://www.blog.google/products/chrome/saying-goodbye-flash-chrome/)
這句話的大意:我們Adobe,在2020年底,將停止支援我們自家的Flash。
B. 2015 : 白癡的決定
Chrome 不再支援 NPAPI (Java Applet 所需的技術)
Web 瀏覽器的 Java 外掛程式有賴於跨平台外掛程式架構 NPAPI(Netscape Plugin Application Programming Interface),過去十多年來所有主要 Web 瀏覽器都一直支援這個架構。Google 的 Chrome 版本 45 (訂於 2015 年 9 月發行) 捨棄了對 NPAPI 的支援,受影響的外掛程式包括 Silverlight、Java、Facebook Video 以及其他以 NPAPI 為基礎的外掛程式。
Java 應用程式是透過 Web 瀏覽器,以 Web Start 應用程式 (啟動之後便不需要使用瀏覽器來進行互動) 或是 Java Applet (可以使用瀏覽器進行互動) (註1)的方式來提供。此變更不會影響 Web Start 應用程式,只會影響 Applet。
如果您無法使用 Chrome 來存取 Java 應用程式,Oracle 建議您改用 Internet Explorer (Windows) 或 Safari (Mac OS X)。
尋求替代方式以支援 Chrome 使用者的開發人員和系統管理員,應參閱本部落格中有關 Launching Web Start applications 的部分。(ref : https://www.java.com/zh_TW/download/faq/chrome.xml)
1. 自己的 PPAPI 並未獲得許多的支援,就貿然地停用別人提供給很多開發平台的 Plugin。
2. 雖然手機裝置興起,也不能以此為由。因為手機的UI介面雖新穎,但已經沒有甚麼特別的Content內涵。沒有人會在手機介面寫甚麼豐富的內容。
3. 有誰的平台、外掛、程式沒有安全性的問題。Chrome 的 Plugin 常常耗費許多 OS的資源到OS陷入窘境。
4. 很多剛發展中的好的開發架構,瞬間被迫要被改寫、改版:Silverlight、Web Client與Web Application 的 JSwing with signed jars。
5. Adobe Flash 還有很多有趣的:
"......Flash它擁有AGAL的著色語言,低階API就是stage3D其中AGAL3 的vertex buffer吞吐量與shader code的行數限制更是勝過目前的WEBGL一大截(V.S. : 3Dengine的移植.基本上支援webgl目前除了原生js開發的engine之外,大多採用LLVM的方式將原生程式編譯成ASM.JS的方式.效率雖高,但記憶體卻是倍數成長.). Flash本身也可以透過cross bridge的方式將C++轉編譯成SWF(當然也是同一招LLVM). 至於3D引擎, Flash有第三方原生支援的3Dengine. 至於語言本身.AS3基於EMCAScript規範而去定義的, 它整體的結構與規範的確與JAVA有極高的相似度......" (ref : https://www.techbang.com/posts/41117-flash-is-not-java-dead-lie-flat-oracle-no-longer-supports-the-java-browser-plug-in)
註 1 : 確認 Chrome 支不支援 JAVA APPLET的設定方式:Chrome://flags(ref : https://www.sunnybank.com.tw/public/pdf/%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A%E7%AF%87-2.pdf)