筆者從 2021 年開始寫作的 ABAP 開發(fā)教程,到 2025年6月11日為止介紹的開發(fā)步驟,基本都是如何在 ABAP 系統(tǒng)里實(shí)現(xiàn)一些面向企業(yè)級(jí)的需求。 筆者這套教程的完整目錄如下,目前總共 246 篇文章。 ![]() 掃碼閱讀????。 不過大家可別對(duì) ABAP 產(chǎn)生誤解,認(rèn)為它的能力就僅僅只能實(shí)現(xiàn) 2B 領(lǐng)域的業(yè)務(wù)。 實(shí)際上,ABAP 也能用來實(shí)現(xiàn)一些娛樂級(jí)的需求,比如本文介紹的,10 分鐘之內(nèi)在 ABAP 系統(tǒng)里實(shí)現(xiàn)一個(gè)音樂播放器。 大家先看一下效果。 瀏覽器打開該應(yīng)用,可以采用拖拽的方式,選擇一個(gè)本地 mp3 文件,放置到應(yīng)用里。也可以使用 windows 的文件選擇框,手動(dòng)選擇一個(gè) mp3 文件。 ![]() 選擇好 mp3 文件之后,「解析元數(shù)據(jù)」的按鈕變成可點(diǎn)擊狀態(tài)。同時(shí)也可以點(diǎn)擊「播放音樂」按鈕。 ![]() 點(diǎn)擊解析數(shù)據(jù)元按鈕,可以顯示這個(gè) mp3 文件里包含的元數(shù)據(jù),比如文件類型,歌曲所屬的專輯,時(shí)長(zhǎng),采樣率,聲道數(shù)等等。 ![]() 點(diǎn)擊播放之后,可以看到歌曲播放進(jìn)度和剩余時(shí)長(zhǎng),可以通過鼠標(biāo)拖拽的方式,來控制歌曲的播放音量和進(jìn)度。 支持柱狀,波形和環(huán)形三種方式來顯示聲音的頻譜分析。 可以看看下面這個(gè) gif 展示的效果。 ![]() 下面介紹具體的開發(fā)步驟。 注意筆者教程文章的標(biāo)題:在 ABAP 系統(tǒng)實(shí)現(xiàn)音樂播放器,而并非使用 ABAP 實(shí)現(xiàn)音樂播放器。 實(shí)際上,這個(gè)應(yīng)用雖然在 ABAP 系統(tǒng)創(chuàng)建并在 ABAP 系統(tǒng)啟動(dòng),但 90% 的部分都并非 ABAP 實(shí)現(xiàn),而是另一門編程語言 JavaScript. 這些 JavaScript 實(shí)現(xiàn),放在一種名叫 BSP 的 ABAP 應(yīng)用類型里。這種 BSP 應(yīng)用,不像傳統(tǒng)的 ABAP 報(bào)表那樣運(yùn)行在 SAPGUI 里,而是運(yùn)行在瀏覽器里。 大家千萬不要小看 BSP 這種類型的應(yīng)用,它的歷史非常悠久,2001 年誕生時(shí),筆者也才剛剛上大學(xué)。BSP 全稱 Business Server Page,雖然歷史悠久,目前仍然在 SAP 系統(tǒng)和應(yīng)用中扮演著舉足輕重的作用,因?yàn)?SAP 的旗艦級(jí)產(chǎn)品 SAP S/4HANA,其前端展現(xiàn)層的 Fiori 應(yīng)用,其背后的載體就是 BSP 應(yīng)用。 筆者另外兩套教程介紹的 SAP UI5 Freestyle 和 SAP Fiori Elements 應(yīng)用的開發(fā),在本地 Visual Studio Code 或者瀏覽器里的 SAP Business Application Studio 完成開發(fā)之后,最后都需要進(jìn)行服務(wù)器端部署,部署之后,原先本地開發(fā)好的應(yīng)用,就上傳到了 SAP S/4HANA 服務(wù)器后端,成為部署過程中自動(dòng)生成的 BSP 應(yīng)用的一部分。 自 2001 年左右 SAP 推出 Internet Transaction Server(ITS)之后,開發(fā)者渴望一種能直接在 ABAP 堆棧內(nèi)編寫 HTML 的方式。BSP 應(yīng)運(yùn)而生,它借鑒 JSP / ASP 等服務(wù)器端腳本思想,讓后端 ABAP 邏輯與前端標(biāo)記語言緊密配合,成為 NetWeaver 時(shí)代 Web UI 的主力技術(shù)之一。 與后續(xù) Web Dynpro ABAP 或 SAPUI5 相比,BSP 相對(duì)輕量、自由度高、易與現(xiàn)有 ABAP 資產(chǎn)集成,在 SAP CRM、SRM、BW Portal 早期版本中大量使用。 我覺得 BSP 開發(fā)最爽的一點(diǎn),就是它可以 ABAP 和 JavaScript/HTML 編程混著用,非???。 具體實(shí)現(xiàn)步驟參見筆者的教程文章?? |
|