Monzo با Compose یک برنامه قوی تر و با کیفیت تر می سازد
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Monzo یک بانک و اپلیکیشن ارائه دهنده خدمات مالی دیجیتال است. ماموریت آنها این است که پول برای همه کار کند. سیستم طراحی مونزو شروع به انحراف از طراحی متریال کرد، بنابراین آنها یک راه آسان برای نوشتن و نگهداری اجزای سفارشی که دائماً در حال تکامل هستند میخواستند – بنابراین Jetpack Compose را انتخاب کردند.
کاری که آنها انجام دادند
با Compose، اجزای Material Design به صورت یک لایه روی APIهای پایه طراحی-سیستم-آگنوستیک ارائه می شوند. Monzo از APIهای پایه برای ساخت کتابخانه مؤلفه خود با استفاده از مؤلفه های Material به عنوان مرجع استفاده کرد. آنها با انتقال یک صفحه در یک زمان شروع کردند و اکنون از Compose در همه صفحههای جدید استفاده میکنند. اکنون، Compose در تولید، توسط همه مهندسان اندروید استفاده میشود: «ما با هیچ مشکل عمدهای مواجه نشدیم، و بنابراین به اندازه کافی برای شروع استفاده از آن برای برخی از ویژگیهای جدید انتخاب شده و در نهایت برای همه ویژگیهای جدید، احساس اطمینان کردیم.»
نتایج
تیم Monzo مؤلفههایی را ایجاد کرد که به آنها امکان میدهد به راحتی صفحهنمایشهای جدید بسازند: "مولفههایی که خارج از جعبه ارائه میدهیم، ساخت یک صفحه نمایش را در حین یادگیری نوشتن تجربه بسیار روانتری میسازد. APIهای مبتنی بر اسلات یک الگوی خارقالعاده هستند که ساخت اجزای بزرگتر را از تعداد زیادی بلوکهای سازنده کوچک واقعاً برای ما آسان میکند."
با Compose، تیم Monzo توانست اپلیکیشنی با کیفیت بالاتر بسازد و ویژگیهای لذتبخشی را اضافه کند که قبلاً نمیتوانستند به آنها دسترسی داشته باشند: «یک مثال انیمیشنها هستند - اضافه کردن آنها در Compose آنقدر آسان است که دلیل بسیار کمی برای متحرک نشدن چیزهایی مانند تغییرات رنگ/اندازه/ارتفاع وجود دارد .
کد آنها اکنون کوتاهتر است و خواندن، درک و نگهداری آن آسانتر است: « تدلیل کدهای اعلامی بسیار سادهتر از کدهایی است که سلسلهمراتب UI قابل تغییر را دستکاری میکنند. همچنین ردیابی از طریق کد زمانی که همه آنها به یک زبان و اغلب یک فایل نوشته شدهاند، بسیار سادهتر است، به جای پرش به عقب و جلو بین Kotlin و XML. در Compose، موضوع ما فقط شامل ویژگیهایی است که ما تعریف میکنیم، مقادیر در همه دستگاهها سازگار هستند، و چون در Kotlin است جستجو و دنبال کردن آن در IDE واقعا آسان است.
Compose به تیم Monzo اجازه داد تا به راحتی برنامه خود را آزمایش کنند و از دسترسی به برنامه آنها اطمینان حاصل کنند: "این به ما کمک کرد تست هایی بنویسیم که کمتر شکننده هستند، قابل اطمینان اجرا می شوند و به ما اطمینان زیادی می دهد که برنامه ما واقعاً در دست کاربران ما کار می کند. آزمایش از طریق سیستم معنایی همچنین تضمین می کند که صفحه های ما به طور پیش فرض حداقل به طور منطقی در دسترس هستند."
شروع کنید
درباره Compose بیشتر بیاموزید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2021-07-28 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2021-07-28 بهوقت ساعت هماهنگ جهانی."],[],[],null,["[Monzo](https://monzo.com/) is a bank and app offering\ndigital financial services. Their mission is to make money work\nfor everyone. Monzo's design system started to deviate from Material Design so\nthey wanted an **easy way to write and maintain custom components** that are\nconstantly evolving---so they chose Jetpack Compose.\n\nWhat they did\n\nWith Compose the Material Design components are provided as a layer over the\ndesign-system-agnostic foundation APIs. Monzo used the foundation APIs to build\ntheir own component library, using the Material components as reference. They\nstarted by migrating a screen at a time, now using Compose in all new screens.\nNow, Compose is used in production, by all of the Android engineers: *\"We\ndidn't encounter any major problems, and so we felt confident enough to start\nusing it for some select new features, and eventually for all new features.\"*\n\nResults\n\nThe Monzo team created components that enable them to easily build new\nscreens: *\"The components we provide out of the box make building a screen\nwhile learning Compose a **much smoother experience**. The slot-based APIs is a\nfantastic pattern that makes it really easy for us to build larger components\nout of lots of small building blocks.\"*\n\nWith Compose, the Monzo team were able to build a higher quality app, adding\ndelightful features that previously they couldn't get to in their\nsprints: *\"One example is animations - they're so easy to add in Compose that\n**there's very little reason not to animate things** like color/size/elevation\nchanges. These 'nice to have' animations are often too difficult to be worth\nthe effort and complexity in the View system.\"*\n\nTheir code is now shorter, and it's easier to read, understand, and\nmaintain: *\"Declarative code is **much easier to reason about** than code that\nmanipulates a mutable UI hierarchy. It's also much **easier to trace through code**\nwhen it's all written in the same language and often the same file, rather than\njumping back and forth between Kotlin and XML. Don't even get me started on XML\nthemes and styles! **Theming is a lot easier to understand** in Compose. Our theme\nonly consists of the properties we define, the values are consistent across\ndevices, and because it's in Kotlin it is really easy to search and follow in\nthe IDE.\"*\n\nCompose allowed the Monzo team to easily test their app and ensure their app is\naccessible: *\"It's helped us **write tests that are less fragile, run reliably,\nand give us a lot of confidence** that our app actually works in the hands of our\nusers. Testing through the semantics system also ensures that our screens are\nat least reasonably **accessible by default**.\"*\n\nGet started\n\nLearn more about [Compose](/jetpack/compose)."]]