日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

平台策略:从Portlet到OpenSocial小工具再到渐进式Web应用程序:最新技术

發布時間:2023/12/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 平台策略:从Portlet到OpenSocial小工具再到渐进式Web应用程序:最新技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

由于世界仍在Java的掌控之中,因此我們經常定義所謂的基于組件的平臺 。 我在2000年的OpenUSS(開放大學支持系統)方面擁有這一經驗。 當時我有一個想法,就是開發一個可以使用組件體系結構和J2EE技術??( OpenUSS Component Architecture )進行擴展的平臺。 一段時間后,我們看到了門戶和Portlet技術的誕生。 每個人都試圖構建可輕松安裝在基于Java的門戶服務器中的portlet。 您還記得所有這些門戶網站,例如Apache Jetspeed,Liferay,JBoss Portal,IBM Webshepe Portal等嗎?

門戶網站浪潮過后,出現了OpenSocial小工具 ,該工具不僅為Java指定,而且通常可用于不同的技術實現。 它使用完全獨立于Java的HTML , JavaScript和REST 。 Apache Shindig是OpenSocial小工具容器的開源實現。 OpenSocial小工具還是iGoogle,Orkut,MySpace,XING和StudiVZ的主要技術。 使用OpenSocial,您可以通過兩種不同的方式集成Web應用程序 。

今天,您仍然擁有諸如Portal,Portlet和OpenSocial小工具之類的技術,但是它們不再具有吸引力。 iGoogle已死, 沒人愿意在新的Web應用程序中使用門戶和Portlet技術 。 如今,所有重要的Web應用程序都不再使用這些門戶,Portlet和小工具。 這些技術的增長肯定會降為零 。

平臺

如今, 平臺通常由兩個元素組成:

  • 適用于網絡瀏覽器的Web App :今天,它仍然是使用最多的應用程序。 筆記本電腦,臺式機,平板電腦和智能手機用戶使用此類應用程序。
  • 本機應用程序的平板電腦,智能手機和穿戴式:只有在少數情況下,你仍然需要臺式機應用程序和筆記本電腦作為web應用是用于該用途的情況一天比一天好。 當今,針對智能手機,平板電腦和可穿戴設備的最具針對性的平臺是Android和iOS 。

讓我們詳細看一下這兩個元素。

網絡應用

如上所述,我們不再需要那些門戶,Portlet和小工具。 我們是否還在尋找基于組件的平臺? 我們是否仍然需要遵循以下要求,而這些要求通常是通過使用門戶網站,Portlet和小工具來解決的 ?

  • 匯總內容和應用
  • 跨應用程序集成
  • 提供統一的用戶界面
  • 支持統一的Web應用程序開發平臺
  • 個性化內容和服務
  • 部署用于發布動態頁面的框架

答案是肯定的,但主要重點轉移到了不同??領域 。 Web應用程序開發的新趨勢是所謂的漸進式Web應用程序 (PWA)。 今天更重要的是專注于用戶體驗而不是Web應用程序本身 。 以下是漸進式Web應用程序的定義 (摘自Google Developers Code Lab):

  • 漸進式–適用于每個用戶,無論瀏覽器選擇如何。
  • 響應式–適合任何外形:臺式機,手機和平板電腦。
  • 獨立的連接性–增強了服務人員的能力,可以離線或在低質量的網絡上工作。
  • 類似于本機應用程序–通過應用程序風格的交互和導航,用戶感覺就像一個應用程序。
  • 新鮮-由于服務人員的更新過程,始終保持最新狀態。
  • 安全-通過HTTPS提供服務,以防止監聽并確保內容未被篡改。
  • 可發現–由于W3C清單和服務工作者的注冊范圍,可以將其識別為“應用程序”,從而使搜索引擎可以找到它。
  • 可重新參與–通過推送通知等功能使重新參與變得容易。
  • 可安裝–允許用戶在主屏幕上“保留”他們認為最有用的應用,而無需麻煩應用商店。
  • 可鏈接–通過URL輕松共享,不需要復雜的安裝。

因此,主要重點從 :

  • 門戶網站,它被定義portlet和小工具 ,使企業的壽命(交付的門戶網站,門戶,小工具)和開發人員 (其中寫門戶網站,門戶,小工具), 更易于
  • 漸進式Web應用程序 ,使用戶感到高興。

這并不意味著使用漸進式Web應用程序我們就無法交付上述要求。 讓我們詳細了解所有需求點。
?

(1)匯總內容和應用程序,并跨應用程序進行集成

使用漸進式Web應用程序,情況看起來會有所不同。 您將不會使用Portlet進行這樣的集成。 相反,它將是使用相同工具欄的許多Web應用程序的集成,并且每個Web應用程序都像一個獨立的應用程序一樣工作。 這是一個比較。

門戶和Portlet集成:帶有門戶和Portlet的netvibes

在Portal和Portlet集成中,每個Portlet可以作為單獨的Web應用程序最大化。

與Google Web Apps進行漸進式Web Apps集成:Google+,收件箱,搜索等。

在Google關閉之前,我是iGoogle(來自Google的OpenSocial Gadgets解決方案)的愉快用戶。 一開始我以為我需要像netvibes一樣尋找替代品。 最后,我一點都不會錯過。 如果我需要獲取信息,則最需要全屏模式的信息 。 因此,最后,我總是需要一個整體的Web應用程序, 而不僅是一個小Portlet 。在漸進式Web Apps集成中,每個圖標都定義了一個Web應用程序,它將作為獨立的Web應用程序單獨打開,以遵循Native的規則。 類似于應用程序 。

(2)提供統一的用戶界面

兩種類型都可以支持統一的用戶界面。 漸進式Web應用程序使用常見的UI模型,例如Google Material Design或Bootstrap 。 Portal,Portlet和小工具大多具有使用Portal Container中的外觀的機制。

(3)支持統一的Web應用開發平臺

這是漸進式Web應用發揮作用的地方。 只要該Web應用程序使用HTML , JavaScript,CSS和REST ,就可以在不同的技術堆棧(如Java,PHP,JavaScript等)中實現。 由于在這樣的漸進式Web應用程序中沒有任何“門戶容器”,因此您可以垂直使用所選的技術堆棧 。 而門戶和Portlet部署是基于門戶容器的 。 因此,如果將Tomcat用作容器,則必須將Portlet部署在該容器中。 當然,您可以撥打遠程服務電話,但這不是標準情況。

(4)個性化內容和服務

這是Portlet展示其強大特性的地方。 您可以根據需要關閉和打開portlet。 如果您在上方看到Google工具欄,則還可以個性化內容。 因此,在這種情況下,漸進式Web應用程序可以通過其Web應用程序的個性化設計執行相同的操作。
?

(5)部署發布動態頁面的框架

這也可能與這兩種類型和趨勢去微服務 。

總之,您仍然可以使用Progressive Web Apps滿足上述要求。 此外,您可以使用標準Web組件構建基于組件的Web應用程序。 可以在此處看到漸進式Web應用程序的一些實際使用案例:

  • Flipkart:Flipkart上的漸進式Web應用程序
  • 柏林航空:柏林航空的漸進式Web應用程序

本機應用

如果沒有照顧最常用的客戶端(手機和平板電腦)的平臺策略,那就是失敗。 以下是當今客戶端設備及其操作系統的類型:

  • 裝有Windows,Linux和MacOS的臺式機和筆記本電腦 :在大多數情況下,您只需要帶有Web應用程序的Web瀏覽器(Firefox,Internet Explorer,Edge,Chrome和Safari)。 無需為每個操作系統構建本機應用程序,只需使用Progressive Web Apps 。 以下是一些事實:
    • Google停止了Picasa客戶端應用的開發,并使用Google相冊將所有內容移至網絡 。
  • 裝有Android和iOS的平板電腦 :目前,您需要為Android和iOS構建本機應用程序。 但是在許多情況下,帶有漸進式Web應用程序的Web應用程序可能是解決方案,因為Web應用程序可以執行與本機應用程序幾乎相同的功能,尤其是隨著HTML5的到來。
  • 具有Android和iOS的手機 :如目前在平板電腦區域中一樣,您需要為Android和iOS構建本機應用程序。 由于屏幕大小,我們可能需要開發本機應用程序。 但是,漸進式Web應用每天都在做得更好(請參見下面的圖片以及Flipkart和Air Berlin的兩個示例)。
  • 配備Android Wear,Android Auto,Android TV,watchOS,Apple CarPlay和tvOS的可穿戴設備, 小工具, 汽車和 電視 :這是您必須編寫本機應用程序的區域,因為較小的設備將無法運行網絡瀏覽器。

具有材質設計的漸進式Web應用程序

Java實現技術

為不同的目標系統開發應用程序非常昂貴。 漸進式Web應用程序的想法很棒,因為它使您無需為每個操作系統編寫本機應用程序。 但是仍然在某些情況下(至少在當前情況下),我們需要構建本機應用程序。 為此目的并節省資源,有所謂的混合應用程序開發 。 有很多帶有HTML用戶界面的混合應用程序框架 。

這種技術的問題在于HTML UI并不是真正的原生。 因此,存在第二種類型的混合應用程序 ,即具有本機UI的混合應用程序框架 。 在這種情況下,您仍將在每個操作系統中使用本機UI,并使用例如相同的編程語言來覆蓋其余內容。 由于Java仍然是排名第一的編程語言 ,因此明智的做法是將平臺策略基于Java。

比較漸進式Web應用程序–具有HTML UI的混合應用程序–具有本機UI的混合應用程序

下圖顯示了運行時漸進式Web應用程序 , 具有HTML UI的混合應用程序和本機UI之間的比較。

Java為我們提供什么樣的工具和產品來實現上述技術?

(1)基礎

  • 用于微服務架構的 Spring Boot和Spring Cloud 。 這些開源產品確實很成熟,可以立即投入生產且易于使用。

(2)基于漸進式Web應用程序的Web應用程序

  • 對于這種類型的Web應用程序,Java領域沒有很多替代品。 像JSF或Grails這樣的框架并不是真正能夠實現此功能的,因為您需要必須在瀏覽器端運行JavaScript。 使用純Java而不是通過AngularJS之類的框架在JavaScript中增加復雜性可能會更好。 為此,您可以選擇以下產品:
    • GWT –這仍然是從Java到JavaScript的最佳開源轉譯器。
  • GWT是該類別中最成熟的產品 ,而Google在許多 產品中都使用GWT 。 GWT可以與以下UI框架集成:
    • 引導程序( GWTBootstrap3 ),
  • 這里有一系列最佳實踐,它們是如何使用GWT來實現Progressive Web Apps的 。因此,您可以立即使用GWT用Java完全編寫Progressive Web Apps。

(3)具有HTML UI的本機應用程序

  • 在Android和iOS的外觀上使用mGWT和mGWT PhoneGap :使用相同的Java,GWT和PhoneGap / Apache Cordova技術,您可以使用HTML UI編寫本機應用程序。 您可能應該使用Progressive Web Apps技術,而不是使用該技術,因為HTML UI看起來并不是本機的。 漸進式Web應用程序是相同的,您可以在Web和移動設備上編寫一次。

(4)具有本機UI的本機應用程序

  • 在Android中,您可以僅使用Java來實現本機UI,不需要任何特殊的解決方法。
  • 在iOS中,您需要使用Objective-C來實現本機UI。 使用諸如J2ObjC (Java到Objective-C的編譯器)之類的開源產品將極大地重用Java代碼。
  • 像Google Inbox這樣的產品使用GWT和J2ObjC在同一時間跨操作系統(Web,Android和iOS)交付相同的功能。

平臺策略

那么,我們今天如何定義平臺策略? 以下是我的總結:

(1)基礎

  • 如果您使用Java作為編程語言的Spring引導和Spring云為您的microService archtiecture實現。 但是最后,您可以使用不同的實現技術,例如Java,.NET和其他。 在下一點中使用這些標準很重要。

(2)服務器端和業務邏輯

  • 使用RESTful和JSON進行mircoservices之間的通信。
  • 在此平臺策略中,必須使用OpenId Connect和OAuth 2進行身份驗證和單點登錄,以便您能夠將所有微服務與所有不同的實現技術集成在一起。

(3)用戶界面

  • Portal和Portlet已死 。 將漸進式Web應用程序用于任何可能的應用程序。 如果您需要集成許多Progressive Web Apps,則只需使用集成或工具欄,就像Google對其產品所做的操作一樣(請參見上面的Google+圖片)。
  • 如果需要本機應用程序,請使用本機UI而不是HTML UI的混合應用程序框架來構建它們。
  • 以下是一些開源產品 ,它們使您可以更輕松地在Java中使用Native UI構建Progressive Web Apps和Native App: GWT和J2ObjC 。 考慮使用它們可以提高生產率和上市時間。

當今的平臺策略不必將每個單獨的實現都基于相同的語言,即使您的團隊只強調相同的語言,而Java仍然是可用的頂級編程語言。 本文結尾的下一張圖片顯示了基于Java的技術平臺的最新實現技術。

基于Java的平臺實現技術


翻譯自: https://www.javacodegeeks.com/2016/09/platform-strategy-portlets-opensocial-gadgets-progressive-web-apps-state-art.html

總結

以上是生活随笔為你收集整理的平台策略:从Portlet到OpenSocial小工具再到渐进式Web应用程序:最新技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。