মনজো কম্পোজের সাথে আরও শক্তিশালী এবং উচ্চ মানের অ্যাপ তৈরি করে
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
মনজো হল একটি ব্যাঙ্ক এবং অ্যাপ যা ডিজিটাল আর্থিক পরিষেবা প্রদান করে। তাদের মিশন প্রত্যেকের জন্য অর্থ কাজ করা হয়. মনজোর ডিজাইন সিস্টেম ম্যাটেরিয়াল ডিজাইন থেকে বিচ্যুত হতে শুরু করেছে তাই তারা ক্রমাগত বিকশিত হওয়া কাস্টম উপাদানগুলি লিখতে এবং বজায় রাখার একটি সহজ উপায় চেয়েছিল - তাই তারা জেটপ্যাক কম্পোজ বেছে নিয়েছে।
তারা যা করেছে
কম্পোজের সাথে মেটেরিয়াল ডিজাইনের উপাদানগুলি ডিজাইন-সিস্টেম-অ্যাগনস্টিক ফাউন্ডেশন এপিআইগুলির উপর একটি স্তর হিসাবে সরবরাহ করা হয়। মনজো তাদের নিজস্ব কম্পোনেন্ট লাইব্রেরি তৈরি করতে ফাউন্ডেশন এপিআই ব্যবহার করেছেন, উপাদান উপাদানগুলিকে রেফারেন্স হিসাবে ব্যবহার করেছেন। তারা একটি সময়ে একটি স্ক্রীন স্থানান্তর করে শুরু করে, এখন সমস্ত নতুন স্ক্রিনে রচনা ব্যবহার করে৷ এখন, সমস্ত অ্যান্ড্রয়েড ইঞ্জিনিয়ারদের দ্বারা কম্পোজ উৎপাদনে ব্যবহার করা হয়: "আমরা কোন বড় সমস্যার সম্মুখীন হইনি, এবং তাই কিছু নির্বাচিত নতুন বৈশিষ্ট্য এবং অবশেষে সমস্ত নতুন বৈশিষ্ট্যের জন্য এটি ব্যবহার শুরু করার জন্য আমরা যথেষ্ট আত্মবিশ্বাসী বোধ করেছি।"
ফলাফল
মনজো দল এমন উপাদান তৈরি করেছে যা তাদের সহজে নতুন স্ক্রিন তৈরি করতে সক্ষম করে: "বক্সের বাইরে আমরা যে উপাদানগুলি সরবরাহ করি সেগুলি স্ক্রিন তৈরি করার সময় একটি অনেক মসৃণ অভিজ্ঞতা রচনা শেখায়। স্লট-ভিত্তিক APIগুলি একটি দুর্দান্ত প্যাটার্ন যা আমাদের জন্য অনেকগুলি ছোট বিল্ডিং ব্লকের মধ্যে বড় উপাদান তৈরি করা সত্যিই সহজ করে তোলে।"
কম্পোজের মাধ্যমে, মনজো টিম একটি উচ্চ মানের অ্যাপ তৈরি করতে সক্ষম হয়েছে, আনন্দদায়ক বৈশিষ্ট্যগুলি যোগ করে যা তারা আগে তাদের স্প্রিন্টে পেতে পারেনি: "একটি উদাহরণ হল অ্যানিমেশন - সেগুলি রচনায় যোগ করা এতই সহজ যে রঙ/আকার/উচ্চতা পরিবর্তনের মতো জিনিসগুলিকে অ্যানিমেট না করার খুব কম কারণ নেই ৷ এই 'অনেক ভালো' অ্যানিমেশনগুলি প্রায়শই সিস্টেমে দেখতে খুব কঠিন।"
তাদের কোড এখন ছোট, এবং এটি পড়া, বোঝা এবং রক্ষণাবেক্ষণ করা সহজ: “কোড পরিবর্তনযোগ্য UI শ্রেণিবিন্যাসকে ম্যানিপুলেট করে এমন কোডের তুলনায় ঘোষণামূলক কোড সম্পর্কে যুক্তি করা অনেক সহজ । কোডের মাধ্যমে ট্রেস করাও অনেক সহজ যখন এটি একই ভাষায় এবং প্রায়শই একই ফাইলে লেখা হয়, কোটলিন এবং XML-এর মধ্যে ঝাঁপিয়ে পড়ার পরিবর্তে ডন'এক্সএমএল স্টাইল এবং এক্সএমএল স্টাইল শুরু করে! কম্পোজে বোঝার জন্য অনেক সহজ আমাদের থিম শুধুমাত্র আমরা সংজ্ঞায়িত বৈশিষ্ট্যগুলি নিয়ে গঠিত, মানগুলি ডিভাইস জুড়ে সামঞ্জস্যপূর্ণ, এবং এটি কোটলিনে থাকায় এটি আইডিইতে অনুসন্ধান করা এবং অনুসরণ করা সত্যিই সহজ৷
রচনা মনজো দলকে তাদের অ্যাপটি সহজেই পরীক্ষা করতে এবং তাদের অ্যাপ অ্যাক্সেসযোগ্য তা নিশ্চিত করার অনুমতি দিয়েছে: "এটি আমাদের পরীক্ষা লিখতে সাহায্য করেছে যা কম ভঙ্গুর, নির্ভরযোগ্যভাবে চালানো এবং আমাদের অনেক আত্মবিশ্বাস দেয় যে আমাদের অ্যাপটি আসলে আমাদের ব্যবহারকারীদের হাতে কাজ করে। শব্দার্থবিদ্যা সিস্টেমের মাধ্যমে পরীক্ষা করা নিশ্চিত করে যে আমাদের স্ক্রিনগুলি ডিফল্টরূপে অন্তত যুক্তিসঙ্গতভাবে অ্যাক্সেসযোগ্য ।"
শুরু করুন
রচনা সম্পর্কে আরও জানুন।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2021-07-28 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2021-07-28 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],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)."]]