توییتر با Compose کارایی و سرعت توسعهدهندگان را افزایش میدهد
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
توییتر یکی از پرکاربردترین پلتفرمهای رسانههای اجتماعی است که در آن کاربران میتوانند در هر لحظه اتفاقات جهان را ببینند. تیم مهندسی شروع به استفاده از Jetpack Compose برای مدرن کردن سیستم طراحی خود کردند.
کاری که آنها انجام دادند
از آنجایی که مولفههای رابط کاربری و سیستم مضمون برنامه توییتر حدود 10 سال پیش توسعه یافت و از اجزای قدیمی تشکیل شده بود که به تلاشهای تعمیر و نگهداری فوقالعاده نیاز داشت، تیم مهندسی میخواست یک سیستم طراحی جدید و مقیاسپذیر بسازد. با اجزای UI بدون حالت که استفاده و نگهداری آسان بود. و بصری برای پیاده سازی، گسترش و سفارشی سازی، بنابراین آنها تصمیم گرفتند از Compose استفاده کنند.
این تیم جایگزینی جزء به جزء را از طریق سیستم طراحی داخلی خود و با معرفی Compose در صفحه نمایش های جدید که به تنظیمات قدیمی آنها بستگی ندارد، آغاز کردند.
نتایج
Compose پاسخ محکمی به هدف آنها برای بهبود سرعت توسعهدهنده، خوشحالی توسعهدهنده، و قابلیت نگهداری کد/کامپوننت UI ارائه کرد. پس از شروع استفاده از Compose، مهندسان توییتر می گویند که "در یک کلام: باورنکردنی است. ما در داخل آن را با عنوان Android UI 2.0 می خوانیم و جستجو در سیستم نمای قدیمی ما را بسیار دشوار می کند. کارایی و سرعت ما را برای چیزهایی که به طور خاص در Compose توسعه داده ایم افزایش داده است ."
آنها بهبودهایی را در سرعت توسعه و آزمایش مشاهده کردهاند: " تغییر طراحی برای هر چیزی که در Compose اتخاذ کردهایم بسیار سریعتر از آنچه قبلاً تجربه کردهایم است . علاوه بر این، ما به شدت در تغییرات محصول خود آزمایش میکنیم، و وقتی در Compose و Kotlin نوشته میشود، این کار بسیار بهتر و سریعتر تسهیل میشود."
کدی که آنها می نویسند نه تنها بصری تر است، بلکه نوشتن سریع تر و خواندن آسان تر است: "علاوه بر این، لایه موضوعی ما بسیار شهودی و خوانا است و ما توانسته ایم در یک فایل Kotlin کاری را انجام دهیم که در غیر این صورت در چندین فایل XML که مسئول تعاریف و تخصیص ویژگی ها بودند، از طریق یک ساختار موضوع لایه بندی مجدد، کل ساختار موضوع را پوشش داد. از روزها تا هفتهها، و قبلاً ثابت کرده است که بسیار قویتر و شهودیتر از سیستم تم قدیمی ما بوده است."
شروع کنید
درباره Compose بیشتر بیاموزید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2021-07-28 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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 بهوقت ساعت هماهنگ جهانی."],[],[],null,["[Twitter](https://twitter.com) is one of the most widely used social\nmedia platforms where users can see what's happening in the world at any given\nmoment. The engineering team started using Jetpack Compose to **modernise their\ndesign system.**\n\nWhat they did\n\nBecause the Twitter app's UI components and theming system was developed around\n10 years ago and was comprised of legacy components that required tremendous\nmaintenance efforts, the engineering team wanted to build a new, scalable\ndesign system; with stateless UI components that were easy to use and maintain;\nand intuitive to implement, extend and customize, so they decided to use\nCompose.\n\nThe team started a component-by-component replacement through their internal\ndesign system and by introducing Compose into new screens that don't depend on\ntheir legacy setup.\n\nResults\n\nCompose provided a solid answer to their goal of improving developer velocity,\ndeveloper happiness, and UI code/component maintainability. After starting to\nuse Compose, Twitter engineers say that it's *\"In a word: incredible.\nInternally we refer to it as Android UI 2.0, and it makes it very difficult to\ndelve back into our legacy view system. It has **increased our efficiency and\nvelocity** for things we've developed specifically in Compose.\"*\n\nThey've seen improvements in the speed of development and experimentation: *\"The\n**turn-around on design changes** for anything we've adopted in Compose **is much\nfaster** than we would have experienced previously. Additionally, we experiment\nvery heavily within our product changes, and this is facilitated much better\nand quicker when written in Compose and Kotlin.\"*\n\nThe code they write is not only more intuitive, but also faster to write, and easier to\nread: *\"Additionally, **our theming layer is vastly more intuitive and legible**\nand we've been able to accomplish within a single Kotlin file what otherwise\nextended across multiple XML files that were responsible for attribute\ndefinitions and assignments via multiple layered theme overlays. Reimplementing\nour entire theming structure within the context of Compose took only a matter\nof days to weeks, and has already proven to be much **more robust and intuitive**\nthan our legacy theme system ever has been.\"*\n\nGet started\n\nLearn more about [Compose](/jetpack/compose)."]]