Jetpack Compose

更新於 2023/03/22閱讀時間約 1 分鐘
比起說這是新技術,不如說是統一前端規格。
以前在不同框架下,類似功能的東西名字各不相同。比如輸入文字的物件,Android叫做EditText,iOS叫做UITextField,Html叫做TextBox或是input標籤。
這讓跨平台的開發者非常痛苦,痛不欲生。
而統一規格意味著,只要專心寫一套程式碼,差別只在於依賴的是不同的框架函式庫。
硬體界剛好有個類似的例子,那就是Type-C,本來古早的Android充電線一端是Micro另一端是USB,現在雙邊都可以是Type-C。最新Apple電腦的電源線也是Type-C。他們不在乎線的另一端是電腦、手機、行動電源還是插座。
假設我今天用Jetpack Compose寫了一個Android APP,只要直接使用同樣的程式碼放進Compose Web就能得到一個同樣畫面的行動網站,而放進Compose Desktop就能得到在電腦上執行的軟體。當然也可以反過來先做成網站然後再放到手機上調整。
多美妙啊。
當然,資料處理方面還是要另外處理,但是這已經很不錯了。
我自己也試著用Jetpack Compose寫了一個1A2B猜數字APP
因為我之前用Compose Web寫過個人網站的緣故,所以很快就融會貫通。花的時間大多在畫面設計和確認重組Recompostion時機,畫面設計我參考了Google提供的Material Design 3,重組則是用Debug印出的資訊去確認。
感覺還不賴。
後續我還會在這個APP上追加關卡或是合作、對戰功能。
當然前提是我在工作時間外還有精力構想功能啦⋯⋯不過如果有很多人下載的話,也可能激起我的小小虛榮心把精力集中在這個APP,所以歡迎下載唷。(眨眼睛
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
6會員
45內容數
和 Kotlin 相關的系列文章。 給程式初學者的「Kotlin 學習系列」 給正在實戰的工程師「Kotlin 實戰系列」
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Kate的沙龍 的其他內容
去年停了近一年這裡的文章,其實是因為忙著將2020 iThome 鐵人賽的得獎作品——每年九月會舉辦的活動,連續三十天發表IT技術類文章——集結成書。 《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》是以小說的敘事方式,將一對姐弟工程師合作
此版本的目標畫面成果是: *金色名字。 *金色社交按鈕圖示,點擊按鈕另開對應的網頁或著顯示comming soon。 *名字和按鈕在網頁中央,如果網頁寬度不夠會換行,夠就不換行。
程式碼建置後的結果一樣在build下面,我們只需要{專案資料夾}/build/js/packages/{專案名}/kotlin/裡的四個檔案。 我另外開了一個gh_pages的Git分支,命名由來是GitHub的pages,除了initial的commit以外,只新增剛剛的四個檔案。
因為最近需要建立自我品牌,所以決定來架個人網站。 架個人網站的方式非常多,最簡單的是直接找台伺服器拿現有模板套上去。 但是我喜歡自由,而且也已經有方格子部落格網站,所以打算做個簡單的名片網站。
條件式可以說是程式重要的能力,也是判斷作業流程細心程度的地方。 條件式 (Condition) ,顧名思義,只有符合條件才做事。 身為一個好士兵,就要執行自家長官的命令。如果是來自敵方隊伍、屬下、路人的命令,就可以快樂的無視他們。 關鍵程式碼大概就會是這樣: if (發令者 == 自家長官) {執行
賦值 (Assign Value) 想成套繩圈的動作, var 的繩圈是可以鬆綁重來的,val 套住對方就不能換了,而進階版 const val 綁住對方之後,對方的時間就被凍結了。 其實,以 Kotlin 的程式語言設計來說,比起賦值 (Assign Value),用賦址 (Assign
去年停了近一年這裡的文章,其實是因為忙著將2020 iThome 鐵人賽的得獎作品——每年九月會舉辦的活動,連續三十天發表IT技術類文章——集結成書。 《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》是以小說的敘事方式,將一對姐弟工程師合作
此版本的目標畫面成果是: *金色名字。 *金色社交按鈕圖示,點擊按鈕另開對應的網頁或著顯示comming soon。 *名字和按鈕在網頁中央,如果網頁寬度不夠會換行,夠就不換行。
程式碼建置後的結果一樣在build下面,我們只需要{專案資料夾}/build/js/packages/{專案名}/kotlin/裡的四個檔案。 我另外開了一個gh_pages的Git分支,命名由來是GitHub的pages,除了initial的commit以外,只新增剛剛的四個檔案。
因為最近需要建立自我品牌,所以決定來架個人網站。 架個人網站的方式非常多,最簡單的是直接找台伺服器拿現有模板套上去。 但是我喜歡自由,而且也已經有方格子部落格網站,所以打算做個簡單的名片網站。
條件式可以說是程式重要的能力,也是判斷作業流程細心程度的地方。 條件式 (Condition) ,顧名思義,只有符合條件才做事。 身為一個好士兵,就要執行自家長官的命令。如果是來自敵方隊伍、屬下、路人的命令,就可以快樂的無視他們。 關鍵程式碼大概就會是這樣: if (發令者 == 自家長官) {執行
賦值 (Assign Value) 想成套繩圈的動作, var 的繩圈是可以鬆綁重來的,val 套住對方就不能換了,而進階版 const val 綁住對方之後,對方的時間就被凍結了。 其實,以 Kotlin 的程式語言設計來說,比起賦值 (Assign Value),用賦址 (Assign
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Docker-Compose負責對container做快速編排。設定檔預設名稱為docker-compose.yml,在檔案中,可以透過COMPOSE_FILE或-f對設定進行定義。 想要將專案透過Docker-Compose部署,需要創建docker-compose.yml和Dockerfile
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
composer dump-autoload 是 Composer 工具的指令,用於重新生成自動載入檔案,以確保專案中的類別檔案能夠正確載入。透過執行該指令,Composer會根據專案的 composer.json 檔案中的設定重新生成 vendor/autoload.php 檔案。這個指令不會安裝
Thumbnail
前言 大家好上次我們教了 Gitlab CI/CD 的 extends 如何使用,今天我們要來實際做一個真正佈署上線我們的服務,我們會分成兩個章節,第一部分先教大家怎麼寫 Docker Compose 佈署計畫書,第二部分教大家撰寫 CI/CD 自動化佈署流程計劃書 什麼是 Docker Com
Thumbnail
這篇文章將會介紹 Collider 並說明應用與控制方式。
Thumbnail
前言   這篇文章將會介紹 UI 排版的實用工具。 GridLayoutGroup | 網格排版工具   這是我在撰寫遊戲 UI 時很常使用的 Component 今天在思考新的文章要寫什麼時發現還沒寫過,因此來跟大家介紹這時用的小組件。 運作原理   本質上來說,這個組件會控制他所有的子物件,並且
Thumbnail
這篇文章將會講述各種關節的介紹,並且說明他們的使用效果和適用範圍。
Thumbnail
這篇文章將會介紹碰撞體,並且說明在不同情況下的使用情形。
Thumbnail
這篇文章將會講述 Unity Shader 及簡單的模式設定。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Docker-Compose負責對container做快速編排。設定檔預設名稱為docker-compose.yml,在檔案中,可以透過COMPOSE_FILE或-f對設定進行定義。 想要將專案透過Docker-Compose部署,需要創建docker-compose.yml和Dockerfile
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
composer dump-autoload 是 Composer 工具的指令,用於重新生成自動載入檔案,以確保專案中的類別檔案能夠正確載入。透過執行該指令,Composer會根據專案的 composer.json 檔案中的設定重新生成 vendor/autoload.php 檔案。這個指令不會安裝
Thumbnail
前言 大家好上次我們教了 Gitlab CI/CD 的 extends 如何使用,今天我們要來實際做一個真正佈署上線我們的服務,我們會分成兩個章節,第一部分先教大家怎麼寫 Docker Compose 佈署計畫書,第二部分教大家撰寫 CI/CD 自動化佈署流程計劃書 什麼是 Docker Com
Thumbnail
這篇文章將會介紹 Collider 並說明應用與控制方式。
Thumbnail
前言   這篇文章將會介紹 UI 排版的實用工具。 GridLayoutGroup | 網格排版工具   這是我在撰寫遊戲 UI 時很常使用的 Component 今天在思考新的文章要寫什麼時發現還沒寫過,因此來跟大家介紹這時用的小組件。 運作原理   本質上來說,這個組件會控制他所有的子物件,並且
Thumbnail
這篇文章將會講述各種關節的介紹,並且說明他們的使用效果和適用範圍。
Thumbnail
這篇文章將會介紹碰撞體,並且說明在不同情況下的使用情形。
Thumbnail
這篇文章將會講述 Unity Shader 及簡單的模式設定。