近日,在百度AI開發者大會上,百度副總裁沈斗聯正式推出了百度smart applet。百度表示,智能applet不僅將與百度brain的人工智能功能完全連接,還將在今年12月完全開源,但在主題演講中并沒有透露智能applet技術的很多細節。為此,今天小編來到百度小節目分論壇,為大家挖掘智能小節目在技術和應用方面的特點。
從操作模式和程序架構來看,百度的智能applet實際上是一個跨applet /Web框架,最終會生成兩組頁面。applet在百度平臺上使用,H5頁面加載到瀏覽器中。
生態服務
百度認為,近兩年,App 推廣成本居高不下,H5 轉化漏斗損耗大,H5 下運營方式單一,而且又難以將百度 AI 和大數據的能力結合起來,為了充分發揮自身的優勢和提升運營質量,所以智能小程序誕生了。
百度智能小程序和微信小程序原理相似,可以運行在百度的平臺,另外還可以運行在合作瀏覽器、合作 App、Dueros、Apollo 等上。
流量如何分發?
據了解,百度智能小程序在百度信息流中通過“主動分發 + 個性化推薦”觸達用戶。這也意味著信息流會通過對用戶興趣點的探索、數據的分析等,把用戶最感興趣、最需要的智能小程序個性化、場景化地推送給用戶。不同類型用戶刷新信息流時,可以看到不同類型的智能小程序被主動推薦,這樣的分發不僅更高效,也更精準。
昨天,百度副總裁沈抖曾宣布,將開放包括搜索、信息流等優勢產品在內的千億流量給開發者,讓開發者充分享受超級入口帶來的流量紅利。
所以在百度搜索上,不管是在已有 H5 站點基礎上改造的智能小程序,還是新開發的智能小程序,只要體驗好,足夠優質,都可以從搜索中獲得流量。但是 相比 H5.百度搜索會優先分發智能小程序。目前,百度 App 日活躍用戶已突破 1.5 億,這巨大的流量將會給開發者帶來巨大的紅利。7 月下旬,新版的百度 App 會開放智能小程序入口,其他的普通瀏覽器和其合作伙伴 App 也會陸續開放。
開發者如何接入?
如果開發者希望智能小程序接到搜索引擎上,開發者需要做什么?
眾所周知,“熊掌號”是內容和服務提供者入駐百度內容生態的統一認證帳號,那么搜索也是通過熊掌號來連接包括智能小程序在內的互聯網優質資源的。
開發者平臺的智能小程序將自動打開后注冊賬戶或綁定的熊爪,后提交和發展智能小程序,請注意,開發人員需要二級域名的主人被映射到一個聰明的小應用程序服務器,這樣做映射之后,開發人員的智能小程序在他們的域名。百度將自動索引智能applet,開發者還可以通過阿拉丁結構化數據提交方式在百度中搜索和顯示。
搜索引擎會自動抓取和理解、索引智能小程序,并且最終給智能小程序導流。如果是在百度 APP 環境下,會通過 Native 加載智能小程序,如果是蘋果瀏覽器和谷歌瀏覽器,會通過急速框架加載智能小程序 Web 版。
如果已有 H5 站點,開發者只需一行代碼就可遷移到智能小程序上。
開發者只需要在智能小程序頁面里面增加一個 Canonical 標簽,Canonical 標簽指向原來的 H5 頁面表達一個寄存關系。這里需要注意的是,智能小程序頁面和 H5 頁面需要一一對應,也就是 A 內容對應 A 內容,B 內容對應 B 內容。兩個對應頁面內容,主體內容一定是一致的,智能小程序和原來的 H5 網站必須是屬于同一個組域,因為在同一個組域下才可以做這樣的傳遞和繼承。
H5 和智能小程序屬于同一組域下,搜索會幫助開發者自動的把 H5 網站之前建立的 Seo 的優化,搜索積累的權重都無縫繼承給智能小程序。
而且智能小程序的訪問必須是安全的,必須遵循 https 的協議,這是一個最基本的要求,可以幫助智能小程序以更安全的方式來保護用戶隱私不被竊取,減少智能小程序被劫持和假冒的風險。
如何開發智能小程序?
在智能小程序的開發技術上,百度 App 業務部前端架構師雷志興給我們做了詳細介紹:
從技術上來看,智能小程序和 Web 開發沒有什么本質的區別,Web 分三個部分,HTML,JS、CSS,為了盡量做到和 Web 一致,降低開發成本提高運行效率,智能小程序做了一個自定義視圖,SWAN、JS 和 CSS 在語法上沒有什么區別,這個時候就不能使用 JS 的生命周期和事件,而是要使用智能小程序的生命周期和事件。
以上是智能小程序的代碼,它定義了一個按紐,在一個 Will 中,下面綁定一個事件,接著,JS 使用的是自定義的事件,有一個對應關系,在 JS 中獲取數據,把數據寫在 JS 中,而智能小程序 CSS 和普通的 CSS 沒有什么區別。
智能小程序采用的是 MVVM 的編程邏輯,整個應用有兩層,邏輯層和視圖層,邏輯層和視圖層是分離的,JS 屬于邏輯層,它包括智能小程序的生命周期、響應用戶的事件,管理請求的數據,還有各種各樣的頁面,視圖的核心里面定義了容器,并且用 EFR 這樣的語句控制展現,里面所有的數據都是從邏輯層獲取的。
智能小程序技術架構
智能小程序的技術架構分成兩部分,開發和運行,開發是包括管理平臺開發者工具,開發者工具中主要是來調試看效果的。還有一個功能是搬家工具,搬家工具能夠快速地將其他的小程序生態遷移到智能小程序生態上。
運行包括運行環境和賦能,運行環境的核心是瀏覽框架,瀏覽框架保證智能小程序的流暢運行,運行環境還包括別的基礎能力,如存儲網絡等智能小程序必不可少的基礎性能力。
上層的賦能分成兩大塊,第一塊是組件,第二塊是能力。
在組件上,百度智能小程序提供了 icon、表單、圖片察看、進度條等減少開發工作的組件,還有可以通過客戶端技術實現流暢的組件,如音頻視頻直播、地圖畫布等。
在能力上,智能小程序提供了地理位置、藍牙網絡等基本的 API 能力,也通過百度 AI 以及百度大數據提供的百度平臺能力,如百度統計,百度統計目前有 PC 和移動版,接下來會有小程序版本,在智能小程序開發者后臺中看到用戶的來源、黏性、傳播效果,這都是百度的平臺賦予小程序云端的能力。
智能小程序的開發過程和 Web 開發完全一樣,而運行部分分成上下兩層,下面是運行環境,運行環境是保證小程序流暢運行的基礎,在 Web 中實現對應的版本,在瀏覽器中實現了一套與 Web 等價的框架,在 Web 上智能小程序負責客戶端的 AI 應用,而在上層實現了等價的 API 能力和云能力。
一次開發,多端運行是如何實現的?
正如上文所說,智能小程序和 Web 是相似的,它使用的技術都是 Web 技術,可以在瀏覽器上運行,由于智能小程序有邏輯層和視圖層,邏輯層最核心的一點是 JS 引擎,不管客戶端還是瀏覽器,都有 JS 引擎,它可以在不同的平臺甚至不同的設備上運行。上面的設計層可以在客戶端部分使用 Web,部分使用客戶端技術渲染,在別的平臺使用別的渲染技術渲染,中間可以用別的鏈接,這就保證大家寫的代碼一次開發在不同平臺得到運行。
在實際運行之前,智能小程序的源碼,SWAN、JS 和 CSS 會被編成運行代碼,一種是 JS,另外一種是 CSS,下一層是邏輯環境,包括業務框架、業務代碼,這里面沒有視圖的邏輯,將數據發送給視圖環境,視圖環境中包括智能小程序基本框架和第三方組件以及 CSS。
這意味著我們通過分離邏輯環境和視圖環境,能夠用不同的技術在不同的平臺上,讓視圖環境運行的更加流暢,也讓體驗和感受更好。JS 引擎是跨平臺的,在開發的過程中,開發者使用的是百度提供的智能小程序開發者工具,在本地調試,看效果,開發完成以后,通過開發者工具上傳按紐,將智能小程序上傳到管理平臺上,在管理平臺中針對用戶不同的環境,下發不同的代碼包到對應平臺,在 APP 中下載到的是完整的運行包,這個運行包里包括了邏輯環境和視圖環境的所有東西。
如在百度 APP 中,拿到這個包以后直接把小程序運行起來,后續的操作就不需要下載了,只需要下載數據就可以了。在 Web 中同樣生成一個包,這是部署在服務器上的,在瀏覽器打開鏈接的時候,會用 H5 的方式渲染這個頁面,能夠達到在 H5 上較好的瀏覽和體驗效果,有些東西在瀏覽器中并不能實現,比如 AR 技術,百度建議開發者可以下載 APP 來獲得更加完整的體驗。
關于開源
在昨天的主題演講中,百度說,智能applet將在12月完全開源,但事實上,智能applet已經部分開源,你可以在Gihub中找到小型前端核心框架SAN。這是小程序在客戶端運行環境中的核心部分,它是MVVM的框架,它具有體積小、性能高、兼容性好的特點,它不僅適合單頁小程序應用,也適合傳統的Web應用。
百度說,最后,通過一個開放的和開源的智能小應用技術,他們希望有越來越多的應用程序集成智能小程序運行環境,他們將更多的設備和系統集成的智能小程序運行環境、合作伙伴等應用,智能語音操作系統,阿波羅車載系統,一個真正的發展多種智能小程序操作。