{"id":3601,"date":"2026-09-23T10:12:25","date_gmt":"2026-09-23T10:12:25","guid":{"rendered":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/"},"modified":"2026-09-23T10:12:25","modified_gmt":"2026-09-23T10:12:25","slug":"celebrating-5-years-of-jetpack-compose","status":"publish","type":"post","link":"https:\/\/dev95.site\/ar\/celebrating-5-years-of-jetpack-compose\/","title":{"rendered":"Celebrating 5 years of Jetpack Compose"},"content":{"rendered":"<div id=\"dev95-1338880428\" class=\"dev95-- dev95-entity-placement\"><script async=\"async\" data-cfasync=\"false\" src=\"https:\/\/pl27862732.profitableratecpmnetwork.com\/2ad7a50e0bbc23ac6801d7b77c501463\/invoke.js\"><\/script>\r\n<div id=\"container-2ad7a50e0bbc23ac6801d7b77c501463\"><\/div><\/div><div><meta content=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiqdSbNmK_9vJR4DQPvGN0oUtQK8s0T2HsgPAsNsl9Kqvd49M3ODh7wlGPZrCRVHEC30oArKNrqmLtuO-zwoZHkfN3_AQz2NNBG6S1st34TOCYx9Mu9cM-ut-rSN8-U1o9Q4ufBwY1l3ukPRjw8QxHWdpxAeeoKRVDPvEjysPwORA3TRhbtpMyTctDQsdY\/s320\/Jetpack compose_Meta.png\" style=\"clear: right; float: right; margin-bottom: 1em; margin-left: 1em;\"><br \/>\n<img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiqdSbNmK_9vJR4DQPvGN0oUtQK8s0T2HsgPAsNsl9Kqvd49M3ODh7wlGPZrCRVHEC30oArKNrqmLtuO-zwoZHkfN3_AQz2NNBG6S1st34TOCYx9Mu9cM-ut-rSN8-U1o9Q4ufBwY1l3ukPRjw8QxHWdpxAeeoKRVDPvEjysPwORA3TRhbtpMyTctDQsdY\/s320\/Jetpack%20compose_Meta.png?w=1280&#038;ssl=1\" style=\"display: none;\">Posted by Rebecca Franks, Developer Relations Engineer, Nick Butcher, Product Manager, Loryn Hairston, Product Marketing Manager, Android<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a href=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiw3DKaw8qASt6AVjsnSTjRqXf81sJAoY9cVQ84H5nyPhcSCrQpsCqGMqt_xHvvCcr5AiUjgOkenszO-Gv0iDi_jvrzXuetPHwRkiNDNXTSF3HAS5q1OMGY7_iHxQMt77_7TvYiNFZGrJSNw6_RrepymprGBh4T1vk11NPgp11l8jd9pUv8CD78jqWjr_I\/s8419\/Jetpack%20compose_Blog%20banner.png?ssl=1\" style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\"><img data-recalc-dims=\"1\" decoding=\"async\" border=\"0\" data-original-height=\"2507\" data-original-width=\"8419\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiw3DKaw8qASt6AVjsnSTjRqXf81sJAoY9cVQ84H5nyPhcSCrQpsCqGMqt_xHvvCcr5AiUjgOkenszO-Gv0iDi_jvrzXuetPHwRkiNDNXTSF3HAS5q1OMGY7_iHxQMt77_7TvYiNFZGrJSNw6_RrepymprGBh4T1vk11NPgp11l8jd9pUv8CD78jqWjr_I\/s1600\/Jetpack%20compose_Blog%20banner.png?w=1280&#038;ssl=1\"><\/a><\/div>\n<p><\/p>\n<p><\/p>\n<p>Today, we officially celebrate five years since the release of Jetpack Compose 1.0. From version <a href=\"https:\/\/android-developers.googleblog.com\/2021\/07\/jetpack-compose-announcement.html\" target=\"_blank\">1.0, announced on July 28th, 2021<\/a>, to our latest <a href=\"https:\/\/android-developers.googleblog.com\/2026\/04\/jetpack-compose-april-2026-updates.html\" target=\"_blank\">1.11 release<\/a>, we\u2019ve seen the APIs evolve significantly over the years, and we\u2019re taking a moment to celebrate.<\/p><div id=\"dev95-2418500942\" class=\"dev95- dev95-entity-placement\"><center>\r\n<script>\r\n  atOptions = {\r\n    'key' : '4ba6b6513c00e0ba76511f798ae56401',\r\n    'format' : 'iframe',\r\n    'height' : 50,\r\n    'width' : 320,\r\n    'params' : {}\r\n  };\r\n<\/script>\r\n<script src=\"https:\/\/www.highrevenueformat.com\/4ba6b6513c00e0ba76511f798ae56401\/invoke.js\"><\/script>\r\n\t<\/center><\/div>\n<p>When we officially announced the 1.0 release, we promised a simpler, faster, and more intuitive way to build native interfaces on Android. Looking back, it&#8217;s safe to say that Compose didn\u2019t just deliver on that promise, but also completely changed the Android ecosystem, with more than 68% of the top 1,000 apps using it in production today.<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\">\n<div style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;\">\n  <iframe src=\"https:\/\/www.youtube.com\/embed\/6qyCXugCU6w\" class=\"BLOG_video_class\" allowfullscreen=\"\" youtube-src-id=\"6qyCXugCU6w\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;\"><br \/>\n  <\/iframe>\n<\/div>\n<\/div>\n<h2>History<\/h2>\n<p>Over the last five years, Compose has grown steadily. In the <a href=\"https:\/\/www.youtube.com\/watch?v=VsStyq4Lzxo\">early days<\/a>,  we explored showing you how to build layouts with the basic Box, Row, and Column. Today, we\u2019ve expanded Compose to work not just on mobile devices, but to other form factors such as <a href=\"https:\/\/developer.android.com\/training\/tv\/playback\/compose\">Compose for TV<\/a>, <a href=\"https:\/\/developer.android.com\/training\/wearables\/compose?version=3\">WearOS<\/a>, <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/glance\">Glance for Widgets<\/a>, and even display glasses with <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/jetpack-compose-glimmer\">Jetpack Compose Glimmer<\/a>.<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a href=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiWh8CsCAq-H6bDDYNx7rg-C2Ok49rbVuMXWelUJhj-jivPZl-ZsSyoJuyisNxqvWCsiMCYvpdOAgGXG1Fqm8JLhkDr8iwD0leU8U_Yi3C-eW6Yqk-Gdp4AhgrpIIoUzETs0bTNNLmZRPiLzNPph9yA7hRCTm0-WDhsZu70dDYMX2uPwuVG50Sm8Ra8fko\/s1999\/jetpack_compose_everywhere.png?ssl=1\" style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\"><img data-recalc-dims=\"1\" decoding=\"async\" border=\"0\" data-original-height=\"743\" data-original-width=\"1999\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiWh8CsCAq-H6bDDYNx7rg-C2Ok49rbVuMXWelUJhj-jivPZl-ZsSyoJuyisNxqvWCsiMCYvpdOAgGXG1Fqm8JLhkDr8iwD0leU8U_Yi3C-eW6Yqk-Gdp4AhgrpIIoUzETs0bTNNLmZRPiLzNPph9yA7hRCTm0-WDhsZu70dDYMX2uPwuVG50Sm8Ra8fko\/s1600\/jetpack_compose_everywhere.png?w=1280&#038;ssl=1\"><\/a><\/div>\n<p><\/p>\n<p><\/p>\n<p>We recorded an Android Developers Backstage episode with <a href=\"https:\/\/uk.linkedin.com\/in\/clara-bayarri-815b7333\">Clara Bayarri<\/a>, Engineering Lead for Jetpack, and two former leads of the team, <a href=\"https:\/\/www.romainguy.dev\/\">Romain Guy<\/a> and <a href=\"https:\/\/www.chethaase.com\/\">Chet Haase<\/a>, along with <a href=\"https:\/\/www.linkedin.com\/in\/tor-norbye\">Tor Norbye<\/a>, Senior Engineering Director. In this episode, they discuss the history of Compose and the early days of development.<\/p>\n<div class=\"separator\" style=\"clear: both;\">\n<div class=\"separator\" style=\"clear: both; text-align: center; width: 100%;\">\n<div style=\"height: 0px; max-width: 100%; overflow: hidden; padding-bottom: 56.25%; position: relative;\">\n    <iframe loading=\"lazy\" allowfullscreen=\"\" class=\"BLOG_video_class\" height=\"266\" src=\"https:\/\/www.youtube.com\/embed\/HEqXwUm6vd0\" style=\"border: 0; height: 100%; left: 0; position: absolute; top: 0; width: 100%;\" width=\"320\" youtube-src-id=\"HEqXwUm6vd0\"><\/iframe><\/div>\n<\/div>\n<p><\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a href=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjASmtolyBoNVHRjLZlHPzpVlJPfXuw4eKAphJtUQWYE0JOMbboZSL9nmyyBnsOTtHXDxpD0guDehRU7hBnGN1kR0D3zP7MVb75f1ldqlv2Xe6QQVVrr4zDRDKrpbSJ3xzp99O9tK-sMnxKynzH2MPe5HU3C5RS2g2kiz3Hf0BKIwsEy207YS2oesGTBsw\/s3200\/timeline.png?ssl=1\" style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\"><img data-recalc-dims=\"1\" decoding=\"async\" border=\"0\" data-original-height=\"1200\" data-original-width=\"3200\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjASmtolyBoNVHRjLZlHPzpVlJPfXuw4eKAphJtUQWYE0JOMbboZSL9nmyyBnsOTtHXDxpD0guDehRU7hBnGN1kR0D3zP7MVb75f1ldqlv2Xe6QQVVrr4zDRDKrpbSJ3xzp99O9tK-sMnxKynzH2MPe5HU3C5RS2g2kiz3Hf0BKIwsEy207YS2oesGTBsw\/s1600\/timeline.png?w=1280&#038;ssl=1\"><\/a><\/div>\n<p><\/p>\n<p><\/p>\n<p><i><\/p>\n<div style=\"text-align: center;\"><i>Compose highlights over the years<\/i><\/div>\n<p><\/i><\/p>\n<h2 style=\"text-align: left;\">Looking back<\/h2>\n<p style=\"text-align: left;\">The beginnings of Compose were very different from what you know today. Two projects were happening in parallel inside the Android team.<\/p>\n<p style=\"text-align: left;\">At the time, the Views toolkit team was thinking of unbundling the UI Toolkit into a library to help with development speed, and make it easier for developers to adopt and control updates. Meanwhile, a team was working on a novel idea to build declarative layouts by embedding XML inside Kotlin, which looked something like this:<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a href=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEi2MclbgogkD1Ofd5aD6Y1SuoWOQM_Yp7kJHGwxWZ1VMPsH8xxe7BHRUFXQgZqGzyECAvwSHkh9ZAk7350DxuzGyKQkkzqzMTnoWMycVuTXnmZ17WHRS9PHHst-mcA2_D_ofSdOVvxHWv8J3b4i92qZ5jJCvOUigN3Vmh4mHFSEnZtsi9DRRkMfQIgg6h8\/s2560\/jetpack_compose_early_code.png?ssl=1\" style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\"><img data-recalc-dims=\"1\" decoding=\"async\" border=\"0\" data-original-height=\"1440\" data-original-width=\"2560\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEi2MclbgogkD1Ofd5aD6Y1SuoWOQM_Yp7kJHGwxWZ1VMPsH8xxe7BHRUFXQgZqGzyECAvwSHkh9ZAk7350DxuzGyKQkkzqzMTnoWMycVuTXnmZ17WHRS9PHHst-mcA2_D_ofSdOVvxHWv8J3b4i92qZ5jJCvOUigN3Vmh4mHFSEnZtsi9DRRkMfQIgg6h8\/s1600\/jetpack_compose_early_code.png?w=1280&#038;ssl=1\"><\/a><\/div>\n<p><\/p>\n<p><\/p>\n<p style=\"text-align: left;\">Those two efforts merged to produce what you know today &#8211; a fully declarative UI Toolkit that utilizes the power of a compiler plugin, runtime, and Kotlin:<\/p>\n<pre><code>@Composable\nfun Newsfeed(stories: List&lt;Story&gt;) {\n    LazyColumn {\n        items(stories) { story -&gt;\n            Card {\n                val author = story.author\n                Image(painterResource(author.profilePhoto),\n                    contentDescription = author.name)\n                Text(author.name)\n                Text(story.content)\n                if (story.hasCommentsEnabled()) {\n                    for(comment in story.comments) {\n                        Text(comment.mainContent)\n                    }\n                }\n            }\n        }\n    }\n}<\/code><\/pre>\n<p style=\"text-align: left;\">And you, the community, helped us very early on! Before 2021, Compose had a pre-alpha phase, which helped ensure Compose was fit to solve the problems of our developers.<\/p>\n<p style=\"text-align: left;\">One of our favorite memories is the Android Dev Challenge. We challenged the community to build four different tasks with Compose, filling our feeds with Puppy apps, clocks, and weather apps, and giving us a ton of direct feedback that helped shape the 1.0 release.<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center; width: 100%;\">\n<div style=\"height: 0px; max-width: 100%; overflow: hidden; padding-bottom: 56.25%; position: relative;\">\n    <iframe loading=\"lazy\" allowfullscreen=\"\" class=\"BLOG_video_class\" height=\"266\" src=\"https:\/\/www.youtube.com\/embed\/9AAmOcgdA2s\" style=\"border: 0; height: 100%; left: 0; position: absolute; top: 0; width: 100%;\" width=\"320\" youtube-src-id=\"9AAmOcgdA2s\"><\/iframe>\n  <\/div>\n<\/div>\n<p style=\"text-align: left;\">Compose has continued to evolve, from launching with a set of Material 2 components to now supporting <a href=\"https:\/\/m3.material.io\/blog\/building-with-m3-expressive\" target=\"_blank\">Material 3 Expressive<\/a>.<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a href=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiXwWhSDIyKO9B9ZUFvjOiIvotw-uC2maZp71vl3qC8GFk01I_xg00AY0JtqZHtAsRofj2G8i-zNG9odM31EWc4mGs00kTvjvfzuX0jD8-2kG4mASj6mFOJOCABsD5c9b4FUXjJZCmgx0hoK1xkGWfVx6ds64JXk2vLVuVO3Xz2zhzrkFrMTXlSJnCAai0\/s1064\/material2.png?ssl=1\" style=\"margin-left: 1em; margin-right: 1em;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"784\" data-original-width=\"1064\" height=\"295\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiXwWhSDIyKO9B9ZUFvjOiIvotw-uC2maZp71vl3qC8GFk01I_xg00AY0JtqZHtAsRofj2G8i-zNG9odM31EWc4mGs00kTvjvfzuX0jD8-2kG4mASj6mFOJOCABsD5c9b4FUXjJZCmgx0hoK1xkGWfVx6ds64JXk2vLVuVO3Xz2zhzrkFrMTXlSJnCAai0\/w400-h295\/material2.png?resize=400%2C295&#038;ssl=1\" width=\"400\"><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><i>Material 2 in Compose<\/i><\/div>\n<p><i><\/p>\n<div><i><br \/><\/i><\/div>\n<div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><img data-recalc-dims=\"1\" decoding=\"async\" border=\"0\" data-original-height=\"686\" data-original-width=\"1342\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhtmkVTKomIpyOR2aAls-hmHJ95o5jgjkGC3a3YeVzNlu9IlNI624el3d_b5somGHvsVIGLkQC5n9bcxci1jXm-1wF_WwHler0XcYNlZgEKs8N_8vBJsweBc5Ev8io-Y9xwxchl7YPXJp7XFc0O99z0nwR0R-poiuztvv9ep9pup6ePghH19WuQri_eMsQ\/s1600\/m9d3dbjl-00_Hero%20Expressive%20New_Export.gif?w=1280&#038;ssl=1\"><i>Material 3 Expressive in Compose<\/i><\/div>\n<\/div>\n<p><\/i><\/p>\n<h2 style=\"text-align: left;\">Looking ahead<\/h2>\n<p style=\"text-align: left;\">As of today, Compose 1.11 is the latest version with 1.12 coming soon, offering so much more than 1.0, 5 years ago. This year, we introduced  more adaptive APIs, such as <code><a href=\"https:\/\/developer.android.com\/develop\/adaptive-apps\/guides\/flexbox\">FlexBox<\/a><\/code>, <code><a href=\"https:\/\/developer.android.com\/develop\/adaptive-apps\/guides\/grid\">Grid<\/a><\/code>, <code><a href=\"https:\/\/developer.android.com\/develop\/adaptive-apps\/guides\/mediaquery\">MediaQuery<\/a><\/code>, and <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/styles\">Styles<\/a>. These APIs let you advance to the next level of premium, adaptive UI development with Compose.<\/p>\n<p style=\"text-align: left;\">At Google I\/O 2026, we announced that we are now <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/first\">Compose-first<\/a>, meaning that all future UI development will happen only in Compose, while the Views toolkit enters maintenance mode. Material Design is also <a href=\"https:\/\/m3.material.io\/blog\/material-is-compose-first\" target=\"_blank\">shifting focus<\/a> entirely to Compose, signaling an end to the <code>findViewById era<\/code>.<\/p>\n<h2 style=\"text-align: left;\">Community is at the heart of Compose\u00a0<\/h2>\n<p style=\"text-align: left;\">Over the years, you\u2019ve inspired us with creative examples of how you\u2019ve used Compose, and we\u2019d love to highlight a few more examples of where we\u2019ve seen exciting work. JetBrains has been a great partner for Google with Compose, expanding Compose to work across platforms with <a href=\"https:\/\/kotlinlang.org\/compose-multiplatform\/\" target=\"_blank\">Compose Multiplatform<\/a> and enabling desktop, iOS, and web developers to also enjoy the benefits of Compose.<\/p>\n<p style=\"text-align: left;\">We\u2019ve really enjoyed following our most beloved newsletters from <a href=\"https:\/\/www.jetpackcompose.app\/newsletter\" target=\"_blank\">JetpackCompose.app\u2019s Dispatch<\/a>,  <a href=\"https:\/\/androidweekly.net\/\" target=\"_blank\">AndroidWeekly<\/a>, to<a href=\"https:\/\/jetc.dev\/\" target=\"_blank\"> jetc<\/a> &#8211; helping Android Developers stay up-to-date with the latest in the world of Compose and Android.<\/p>\n<p style=\"text-align: left;\">Another standout contributor is <a href=\"https:\/\/www.sinasamaki.com\/\">sinasamaki<\/a>. They\u2019ve created many delightful experiences using Compose, such as this fun ribbon modifier and the glitchy effect:<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a href=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhULTmBhLhA3t_xyz4cyCcVjxnF4_kCxoQh5ndyzOwMOVDhhsiDSZwINKcpLlxJm1usnULmoMNVRCO8HqSFfHcm6yCkAfqnhyphenhyphengjavPuxlYnoNwtDiUnWsC0aNqphG6to5J1FWsLnvato0l3mlc1YOcxXFrXZ-gEqL58BCR4oHzPRCCjFaGOngvQlwg_65s\/s1282\/glitch%20%281%29.gif?ssl=1\" style=\"margin-left: 1em; margin-right: 1em;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"718\" data-original-width=\"1282\" height=\"179\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhULTmBhLhA3t_xyz4cyCcVjxnF4_kCxoQh5ndyzOwMOVDhhsiDSZwINKcpLlxJm1usnULmoMNVRCO8HqSFfHcm6yCkAfqnhyphenhyphengjavPuxlYnoNwtDiUnWsC0aNqphG6to5J1FWsLnvato0l3mlc1YOcxXFrXZ-gEqL58BCR4oHzPRCCjFaGOngvQlwg_65s\/s320\/glitch%20%281%29.gif?resize=320%2C179&#038;ssl=1\" width=\"320\"><\/a><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><\/div>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a href=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjCyqX6q5ZTclPBK-WChrNnNQlQ96ysOddRQeDQbtEji4u1DzbuPDIN7Xpov6QCZ-gjVMLlIKHr_3v_D0ZZKJQuEAe3M3Q24LbKxcz9jyk9tulTi-YBMwC0mOJSP0PVebWn-LJO15AT77t6Gp70VUcsiwz8U04w5tEN9pAbOqlobAw7hYe4Uuz7taGm_6w\/s990\/ribbon_modifier_sinasamaki.gif?ssl=1\" style=\"margin-left: 1em; margin-right: 1em;\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"990\" data-original-width=\"990\" height=\"320\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjCyqX6q5ZTclPBK-WChrNnNQlQ96ysOddRQeDQbtEji4u1DzbuPDIN7Xpov6QCZ-gjVMLlIKHr_3v_D0ZZKJQuEAe3M3Q24LbKxcz9jyk9tulTi-YBMwC0mOJSP0PVebWn-LJO15AT77t6Gp70VUcsiwz8U04w5tEN9pAbOqlobAw7hYe4Uuz7taGm_6w\/s320\/ribbon_modifier_sinasamaki.gif?resize=320%2C320&#038;ssl=1\" width=\"320\"><\/a><\/div>\n<p style=\"text-align: left;\"><a href=\"https:\/\/github.com\/saket\" target=\"_blank\">Saket Narayan<\/a> has also always been an inspiration when it comes to creating useful tools for Compose, such as <a href=\"https:\/\/github.com\/saket\/telephoto\" target=\"_blank\">telephoto<\/a>, a library featuring support for pan and zoom gestures and automatic sub-sampling of large images, or the latest library, <a href=\"https:\/\/github.com\/saket\/touch-robot\" target=\"_blank\">Touch Robot<\/a>, which allows you to easily test interaction animations:<\/p>\n<table border=\"1\" style=\"border-collapse: collapse; table-layout: fixed; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"box-sizing: border-box; padding: 10px; vertical-align: top; width: 50%;\">\n<pre style=\"margin: 0px; white-space: pre-wrap; word-break: break-word;\"><code>paparazzi.gif(end = 3_000) {\n  DebitCard(\n    Modifier.testTag(\"card\")\n  )\n\n  val touchRobot = rememberTouchRobot()\n  LaunchedEffect(Unit) {\n    touchRobot.onNode(hasTestTag(\"card\")).performGesture {\n      draw(\n        path = createAndroidHeadPath(),\n        duration = 3.seconds,\n      )\n    }\n  }\n}\n\n\/** A path drawing the Android head. *\/\nfun createAndroidHeadPath(bounds: Rect): Path = TODO()<\/code><\/pre>\n<\/td>\n<td style=\"box-sizing: border-box; padding: 10px; vertical-align: top; width: 50%;\">\n<div class=\"separator\" style=\"clear: both;\">\n          <a href=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjBz8urkhKEeFAuw1Xm4-pVS9PxZmAkaAx9c2IB6U5ZeVhVkwLqUeBmTjtA6zzbZAMzvZVYqw4tLIh2pVRJWy5J8SEu24LW5rDdpnJYpMYqYy-fGkGXQ4p6wryqpeFFdBlNkIx_TITAsYqreNKluyEZpTlH6Gr48nmltIZie5bkDmpd82qJx0FxsK0k1dk\/s461\/saket_touch_robot.gif?ssl=1\" style=\"display: block; padding: 1em 0px; text-align: center;\"><br \/>\n            <img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" border=\"0\" data-original-height=\"349\" data-original-width=\"461\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjBz8urkhKEeFAuw1Xm4-pVS9PxZmAkaAx9c2IB6U5ZeVhVkwLqUeBmTjtA6zzbZAMzvZVYqw4tLIh2pVRJWy5J8SEu24LW5rDdpnJYpMYqYy-fGkGXQ4p6wryqpeFFdBlNkIx_TITAsYqreNKluyEZpTlH6Gr48nmltIZie5bkDmpd82qJx0FxsK0k1dk\/s400\/saket_touch_robot.gif?w=1280&#038;ssl=1\" style=\"height: auto; max-width: 100%;\"><br \/>\n          <\/a>\n        <\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: left;\"><a href=\"https:\/\/jakewharton.com\/\" target=\"_blank\">Jake Wharton<\/a>, who has used Compose in innovative ways (like <a href=\"https:\/\/github.com\/cashapp\/molecule\" target=\"_blank\">molecule<\/a>, and even building UI with Compose for the terminal with <a href=\"https:\/\/github.com\/JakeWharton\/mosaic\" target=\"_blank\">mosaic<\/a>). <a href=\"https:\/\/chrisbanes.me\/\" target=\"_blank\">Chris Banes<\/a>, who has built many Compose libraries over the years, with our most recent favourite &#8211; <a href=\"https:\/\/github.com\/chrisbanes\/haze\" target=\"_blank\">Haze<\/a> for background blurring, and many of the <a href=\"https:\/\/developers.google.com\/community\/experts\" target=\"_blank\">Android Google Developer Experts<\/a> like <a href=\"https:\/\/github.com\/AkshayChordiya\" target=\"_blank\">Akshay Chordiya<\/a>, <a href=\"https:\/\/www.randomlytyping.com\/\" target=\"_blank\">Huyen Tue Dao<\/a>, and <a href=\"https:\/\/katiebarnett.dev\/\" target=\"_blank\">Katie Barnett<\/a>, who\u2019ve contributed to the success of Compose. But this is not about selecting individuals &#8211; there have been so many great contributors to the Compose codebase, and many of you continue to inspire us with your fun examples, libraries, and in-depth talks.  Without the community, Jetpack Compose wouldn\u2019t be as successful as it is today.<\/p>\n<h2 style=\"text-align: left;\">Cheers to the next 5 years, and more!\u00a0<\/h2>\n<p style=\"text-align: left;\">Jetpack Compose has grown from an experimental idea into the standard for Android UI Development. Thank you to the entire Toolkit team at Google, and to the incredible global developer community that wrote libraries, filed bugs, and pushed the boundaries of what declarative UI can do.<\/p>\n<p style=\"text-align: left;\">This week, we\u2019ll be celebrating with some in-person birthday parties across the globe, and a live \u201cBirthday party\u201d on the <a href=\"https:\/\/www.youtube.com\/user\/androiddevelopers\" target=\"_blank\">Android Developers YouTube channel<\/a> on July 30th at 13:00 UTC.  During this time, we\u2019ll hang out and discuss Compose and answer your questions!<\/p>\n<p style=\"text-align: left;\">Cheers to the next 5 years, and happy composing!<\/p>\n<\/div>\n<\/div>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_3601\" class=\"pvc_stats total_only\" data-element-id=\"3601\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.0\" viewbox=\"0 0 502 315\" preserveaspectratio=\"xMidYMid meet\"><g transform=\"translate(0,332) scale(0.1,-0.1)\" fill=\"\" stroke=\"none\"><path d=\"M2394 3279 l-29 -30 -3 -207 c-2 -182 0 -211 15 -242 39 -76 157 -76 196 0 15 31 17 60 15 243 l-3 209 -33 29 c-26 23 -41 29 -80 29 -41 0 -53 -5 -78 -31z\"\/><path d=\"M3085 3251 c-45 -19 -58 -50 -96 -229 -47 -217 -49 -260 -13 -295 52 -53 146 -42 177 20 16 31 87 366 87 410 0 70 -86 122 -155 94z\"\/><path d=\"M1751 3234 c-13 -9 -29 -31 -37 -50 -12 -29 -10 -49 21 -204 19 -94 39 -189 45 -210 14 -50 54 -80 110 -80 34 0 48 6 76 34 21 21 34 44 34 59 0 14 -18 113 -40 219 -37 178 -43 195 -70 221 -36 32 -101 37 -139 11z\"\/><path d=\"M1163 3073 c-36 -7 -73 -59 -73 -102 0 -56 133 -378 171 -413 34 -32 83 -37 129 -13 70 36 67 87 -16 290 -86 209 -89 214 -129 231 -35 14 -42 15 -82 7z\"\/><path d=\"M3689 3066 c-15 -9 -33 -30 -42 -48 -48 -103 -147 -355 -147 -375 0 -98 131 -148 192 -74 13 15 57 108 97 206 80 196 84 226 37 273 -30 30 -99 39 -137 18z\"\/><path d=\"M583 2784 c-38 -19 -67 -74 -58 -113 9 -42 211 -354 242 -373 16 -10 45 -18 66 -18 51 0 107 52 107 100 0 39 -1 41 -124 234 -80 126 -108 162 -133 173 -41 17 -61 16 -100 -3z\"\/><path d=\"M4250 2784 c-14 -9 -74 -91 -133 -183 -95 -150 -107 -173 -107 -213 0 -55 33 -94 87 -104 67 -13 90 8 211 198 130 202 137 225 78 284 -27 27 -42 34 -72 34 -22 0 -50 -8 -64 -16z\"\/><path d=\"M2275 2693 c-553 -48 -1095 -270 -1585 -649 -135 -104 -459 -423 -483 -476 -23 -49 -22 -139 2 -186 73 -142 361 -457 571 -626 285 -228 642 -407 990 -497 242 -63 336 -73 660 -74 310 0 370 5 595 52 535 111 1045 392 1455 803 122 121 250 273 275 326 19 41 19 137 0 174 -41 79 -309 363 -465 492 -447 370 -946 591 -1479 653 -113 14 -422 18 -536 8z m395 -428 c171 -34 330 -124 456 -258 112 -119 167 -219 211 -378 27 -96 24 -300 -5 -401 -72 -255 -236 -447 -474 -557 -132 -62 -201 -76 -368 -76 -167 0 -236 14 -368 76 -213 98 -373 271 -451 485 -162 444 86 934 547 1084 153 49 292 57 452 25z m909 -232 c222 -123 408 -262 593 -441 76 -74 138 -139 138 -144 0 -16 -233 -242 -330 -319 -155 -123 -309 -223 -461 -299 l-81 -41 32 46 c18 26 49 83 70 128 143 306 141 649 -6 957 -25 52 -61 116 -79 142 l-34 47 45 -20 c26 -10 76 -36 113 -56z m-2057 25 c-40 -58 -105 -190 -130 -263 -110 -324 -59 -707 132 -981 25 -35 42 -64 37 -64 -19 0 -241 119 -326 174 -188 122 -406 314 -532 468 l-58 71 108 103 c185 178 428 349 672 473 66 33 121 60 123 61 2 0 -10 -19 -26 -42z\"\/><path d=\"M2375 1950 c-198 -44 -350 -190 -395 -379 -18 -76 -8 -221 19 -290 114 -284 457 -406 731 -260 98 52 188 154 231 260 27 69 37 214 19 290 -38 163 -166 304 -326 360 -67 23 -215 33 -279 19z\"\/><\/g><\/svg><\/i> <img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/i0.wp.com\/dev95.site\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif?resize=16%2C16&#038;ssl=1\" border=\"0\" \/><\/p>\n<div class=\"pvc_clear\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Posted by Rebecca Franks, Developer Relations Engineer, Nick Butcher, Product Manager, Loryn Hairston, Product Marketing Manager, Android Today, we officially celebrate five years since the release of Jetpack Compose 1.0. From version 1.0, announced on July 28th, 2021, to our<\/p>\n<div class=\"hosteria-entry-more\"><a href=\"https:\/\/dev95.site\/ar\/celebrating-5-years-of-jetpack-compose\/\" class=\"no-underline font-light  group-hover:text-primary-800 dark:group-hover:text-primary-300 py-1\">Read more &gt;&gt;&gt;<\/a><\/div>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_3601\" class=\"pvc_stats total_only\" data-element-id=\"3601\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.0\" viewbox=\"0 0 502 315\" preserveaspectratio=\"xMidYMid meet\"><g transform=\"translate(0,332) scale(0.1,-0.1)\" fill=\"\" stroke=\"none\"><path d=\"M2394 3279 l-29 -30 -3 -207 c-2 -182 0 -211 15 -242 39 -76 157 -76 196 0 15 31 17 60 15 243 l-3 209 -33 29 c-26 23 -41 29 -80 29 -41 0 -53 -5 -78 -31z\"\/><path d=\"M3085 3251 c-45 -19 -58 -50 -96 -229 -47 -217 -49 -260 -13 -295 52 -53 146 -42 177 20 16 31 87 366 87 410 0 70 -86 122 -155 94z\"\/><path d=\"M1751 3234 c-13 -9 -29 -31 -37 -50 -12 -29 -10 -49 21 -204 19 -94 39 -189 45 -210 14 -50 54 -80 110 -80 34 0 48 6 76 34 21 21 34 44 34 59 0 14 -18 113 -40 219 -37 178 -43 195 -70 221 -36 32 -101 37 -139 11z\"\/><path d=\"M1163 3073 c-36 -7 -73 -59 -73 -102 0 -56 133 -378 171 -413 34 -32 83 -37 129 -13 70 36 67 87 -16 290 -86 209 -89 214 -129 231 -35 14 -42 15 -82 7z\"\/><path d=\"M3689 3066 c-15 -9 -33 -30 -42 -48 -48 -103 -147 -355 -147 -375 0 -98 131 -148 192 -74 13 15 57 108 97 206 80 196 84 226 37 273 -30 30 -99 39 -137 18z\"\/><path d=\"M583 2784 c-38 -19 -67 -74 -58 -113 9 -42 211 -354 242 -373 16 -10 45 -18 66 -18 51 0 107 52 107 100 0 39 -1 41 -124 234 -80 126 -108 162 -133 173 -41 17 -61 16 -100 -3z\"\/><path d=\"M4250 2784 c-14 -9 -74 -91 -133 -183 -95 -150 -107 -173 -107 -213 0 -55 33 -94 87 -104 67 -13 90 8 211 198 130 202 137 225 78 284 -27 27 -42 34 -72 34 -22 0 -50 -8 -64 -16z\"\/><path d=\"M2275 2693 c-553 -48 -1095 -270 -1585 -649 -135 -104 -459 -423 -483 -476 -23 -49 -22 -139 2 -186 73 -142 361 -457 571 -626 285 -228 642 -407 990 -497 242 -63 336 -73 660 -74 310 0 370 5 595 52 535 111 1045 392 1455 803 122 121 250 273 275 326 19 41 19 137 0 174 -41 79 -309 363 -465 492 -447 370 -946 591 -1479 653 -113 14 -422 18 -536 8z m395 -428 c171 -34 330 -124 456 -258 112 -119 167 -219 211 -378 27 -96 24 -300 -5 -401 -72 -255 -236 -447 -474 -557 -132 -62 -201 -76 -368 -76 -167 0 -236 14 -368 76 -213 98 -373 271 -451 485 -162 444 86 934 547 1084 153 49 292 57 452 25z m909 -232 c222 -123 408 -262 593 -441 76 -74 138 -139 138 -144 0 -16 -233 -242 -330 -319 -155 -123 -309 -223 -461 -299 l-81 -41 32 46 c18 26 49 83 70 128 143 306 141 649 -6 957 -25 52 -61 116 -79 142 l-34 47 45 -20 c26 -10 76 -36 113 -56z m-2057 25 c-40 -58 -105 -190 -130 -263 -110 -324 -59 -707 132 -981 25 -35 42 -64 37 -64 -19 0 -241 119 -326 174 -188 122 -406 314 -532 468 l-58 71 108 103 c185 178 428 349 672 473 66 33 121 60 123 61 2 0 -10 -19 -26 -42z\"\/><path d=\"M2375 1950 c-198 -44 -350 -190 -395 -379 -18 -76 -8 -221 19 -290 114 -284 457 -406 731 -260 98 52 188 154 231 260 27 69 37 214 19 290 -38 163 -166 304 -326 360 -67 23 -215 33 -279 19z\"\/><\/g><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dev95.site\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=\"0\" \/><\/p>\n<div class=\"pvc_clear\"><\/div>","protected":false},"author":1,"featured_media":3602,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fp_fajr_begins":"","fp_fajr_iqamah":"","fp_dhuhr_begins":"","fp_dhuhr_iqamah":"","fp_asr_begins":"","fp_asr_iqamah":"","fp_maghrib_begins":"","fp_maghrib_iqamah":"","fp_isha_begins":"","fp_isha_iqamah":"","fp_midnight":"","fp_midnight_name":"","fp_sunrise":"","fp_single_prayer_begins_title":"","fp_single_prayer_iqamah_title":"","fp_prayer_times_for_today":"","fp_hijra_date":"","fp_fajr_name":"","fp_dhuhr_name":"","fp_asr_name":"","fp_maghrib_name":"","fp_isha_name":"","fp_sunrise_name":"","fp_currentDate":"","fp_current_time":"","fp_current_title":"","fp_current_location":"","fp_masjid_name":"","fp_prayer_title":"","fp_next_prayer_iqamah_time":"","fp_next_prayer_iqamah_title":"","fp_next_prayer_begins_time":"","fp_next_prayer_begins_title":"","fp_next_prayer_title":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[9],"tags":[],"class_list":["post-3601","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android"],"a3_pvc":{"activated":true,"total_views":0,"today_views":0},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Celebrating 5 years of Jetpack Compose - Dev95<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dev95.site\/ar\/celebrating-5-years-of-jetpack-compose\/\" \/>\n<meta property=\"og:locale\" content=\"ar_AR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Celebrating 5 years of Jetpack Compose - Dev95\" \/>\n<meta property=\"og:description\" content=\"Posted by Rebecca Franks, Developer Relations Engineer, Nick Butcher, Product Manager, Loryn Hairston, Product Marketing Manager, Android Today, we officially celebrate five years since the release of Jetpack Compose 1.0. From version 1.0, announced on July 28th, 2021, to ourRead more &gt;&gt;&gt;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dev95.site\/ar\/celebrating-5-years-of-jetpack-compose\/\" \/>\n<meta property=\"og:site_name\" content=\"Dev95\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-23T10:12:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiWh8CsCAq-H6bDDYNx7rg-C2Ok49rbVuMXWelUJhj-jivPZl-ZsSyoJuyisNxqvWCsiMCYvpdOAgGXG1Fqm8JLhkDr8iwD0leU8U_Yi3C-eW6Yqk-Gdp4AhgrpIIoUzETs0bTNNLmZRPiLzNPph9yA7hRCTm0-WDhsZu70dDYMX2uPwuVG50Sm8Ra8fko\/s1600\/jetpack_compose_everywhere.png\" \/>\n<meta name=\"author\" content=\"dev95\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0643\u064f\u062a\u0628 \u0628\u0648\u0627\u0633\u0637\u0629\" \/>\n\t<meta name=\"twitter:data1\" content=\"dev95\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \u062f\u0642\u0627\u0626\u0642\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/\"},\"author\":{\"name\":\"dev95\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/person\\\/b807805ffe2916206b04d0938bce0298\"},\"headline\":\"Celebrating 5 years of Jetpack Compose\",\"datePublished\":\"2026-09-23T10:12:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/\"},\"wordCount\":928,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Jetpackcompose_Meta.png?fit=320%2C208&ssl=1\",\"articleSection\":[\"Android\"],\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/\",\"url\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/\",\"name\":\"Celebrating 5 years of Jetpack Compose - Dev95\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Jetpackcompose_Meta.png?fit=320%2C208&ssl=1\",\"datePublished\":\"2026-09-23T10:12:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/#breadcrumb\"},\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Jetpackcompose_Meta.png?fit=320%2C208&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Jetpackcompose_Meta.png?fit=320%2C208&ssl=1\",\"width\":320,\"height\":208},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dev95.site\\\/celebrating-5-years-of-jetpack-compose\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dev95.site\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Celebrating 5 years of Jetpack Compose\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#website\",\"url\":\"https:\\\/\\\/dev95.site\\\/\",\"name\":\"Dev95\",\"description\":\"A comprehensive platform for data and knowledge, delivering reliable content that meets the aspirations of readers and enthusiasts.\",\"publisher\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dev95.site\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ar\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\",\"name\":\"Dev95\",\"url\":\"https:\\\/\\\/dev95.site\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/rbrrbr-6.png?fit=512%2C512&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/rbrrbr-6.png?fit=512%2C512&ssl=1\",\"width\":512,\"height\":512,\"caption\":\"Dev95\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/person\\\/b807805ffe2916206b04d0938bce0298\",\"name\":\"dev95\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g\",\"caption\":\"dev95\"},\"url\":\"https:\\\/\\\/dev95.site\\\/ar\\\/author\\\/mohammad\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Celebrating 5 years of Jetpack Compose - Dev95","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dev95.site\/ar\/celebrating-5-years-of-jetpack-compose\/","og_locale":"ar_AR","og_type":"article","og_title":"Celebrating 5 years of Jetpack Compose - Dev95","og_description":"Posted by Rebecca Franks, Developer Relations Engineer, Nick Butcher, Product Manager, Loryn Hairston, Product Marketing Manager, Android Today, we officially celebrate five years since the release of Jetpack Compose 1.0. From version 1.0, announced on July 28th, 2021, to ourRead more &gt;&gt;&gt;","og_url":"https:\/\/dev95.site\/ar\/celebrating-5-years-of-jetpack-compose\/","og_site_name":"Dev95","article_published_time":"2026-09-23T10:12:25+00:00","og_image":[{"url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiWh8CsCAq-H6bDDYNx7rg-C2Ok49rbVuMXWelUJhj-jivPZl-ZsSyoJuyisNxqvWCsiMCYvpdOAgGXG1Fqm8JLhkDr8iwD0leU8U_Yi3C-eW6Yqk-Gdp4AhgrpIIoUzETs0bTNNLmZRPiLzNPph9yA7hRCTm0-WDhsZu70dDYMX2uPwuVG50Sm8Ra8fko\/s1600\/jetpack_compose_everywhere.png","type":"","width":"","height":""}],"author":"dev95","twitter_card":"summary_large_image","twitter_misc":{"\u0643\u064f\u062a\u0628 \u0628\u0648\u0627\u0633\u0637\u0629":"dev95","\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631":"5 \u062f\u0642\u0627\u0626\u0642"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/#article","isPartOf":{"@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/"},"author":{"name":"dev95","@id":"https:\/\/dev95.site\/#\/schema\/person\/b807805ffe2916206b04d0938bce0298"},"headline":"Celebrating 5 years of Jetpack Compose","datePublished":"2026-09-23T10:12:25+00:00","mainEntityOfPage":{"@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/"},"wordCount":928,"commentCount":0,"publisher":{"@id":"https:\/\/dev95.site\/#organization"},"image":{"@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/Jetpackcompose_Meta.png?fit=320%2C208&ssl=1","articleSection":["Android"],"inLanguage":"ar","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/","url":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/","name":"Celebrating 5 years of Jetpack Compose - Dev95","isPartOf":{"@id":"https:\/\/dev95.site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/#primaryimage"},"image":{"@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/Jetpackcompose_Meta.png?fit=320%2C208&ssl=1","datePublished":"2026-09-23T10:12:25+00:00","breadcrumb":{"@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/#breadcrumb"},"inLanguage":"ar","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/"]}]},{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/#primaryimage","url":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/Jetpackcompose_Meta.png?fit=320%2C208&ssl=1","contentUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/Jetpackcompose_Meta.png?fit=320%2C208&ssl=1","width":320,"height":208},{"@type":"BreadcrumbList","@id":"https:\/\/dev95.site\/celebrating-5-years-of-jetpack-compose\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dev95.site\/"},{"@type":"ListItem","position":2,"name":"Celebrating 5 years of Jetpack Compose"}]},{"@type":"WebSite","@id":"https:\/\/dev95.site\/#website","url":"https:\/\/dev95.site\/","name":"Dev95","description":"A comprehensive platform for data and knowledge, delivering reliable content that meets the aspirations of readers and enthusiasts.","publisher":{"@id":"https:\/\/dev95.site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dev95.site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ar"},{"@type":"Organization","@id":"https:\/\/dev95.site\/#organization","name":"Dev95","url":"https:\/\/dev95.site\/","logo":{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/dev95.site\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/07\/rbrrbr-6.png?fit=512%2C512&ssl=1","contentUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/07\/rbrrbr-6.png?fit=512%2C512&ssl=1","width":512,"height":512,"caption":"Dev95"},"image":{"@id":"https:\/\/dev95.site\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dev95.site\/#\/schema\/person\/b807805ffe2916206b04d0938bce0298","name":"dev95","image":{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/secure.gravatar.com\/avatar\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g","caption":"dev95"},"url":"https:\/\/dev95.site\/ar\/author\/mohammad\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/Jetpackcompose_Meta.png?fit=320%2C208&ssl=1","_links":{"self":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts\/3601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/comments?post=3601"}],"version-history":[{"count":0,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts\/3601\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/media\/3602"}],"wp:attachment":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/media?parent=3601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/categories?post=3601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/tags?post=3601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}