Twitter ghi nhận hiệu quả và tốc độ phát triển nhanh hơn nhờ Compose
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Twitter là một trong những nền tảng mạng xã hội được sử dụng rộng rãi nhất, nơi người dùng có thể xem những gì đang diễn ra trên thế giới tại bất kỳ thời điểm nào. Nhóm kỹ thuật bắt đầu sử dụng Jetpack Compose để hiện đại hoá hệ thống thiết kế của họ.
Những việc họ đã làm
Vì các thành phần giao diện người dùng và hệ thống tạo giao diện của ứng dụng Twitter được phát triển cách đây khoảng 10 năm và bao gồm các thành phần cũ đòi hỏi nỗ lực bảo trì rất lớn, nên nhóm kỹ thuật muốn xây dựng một hệ thống thiết kế mới có thể mở rộng quy mô; với các thành phần giao diện người dùng không trạng thái, dễ sử dụng và duy trì; đồng thời trực quan để triển khai, mở rộng và tuỳ chỉnh, nên họ quyết định sử dụng Compose.
Nhóm bắt đầu thay thế từng thành phần thông qua hệ thống thiết kế nội bộ và bằng cách đưa Compose vào các màn hình mới không phụ thuộc vào chế độ thiết lập cũ.
Kết quả
Compose đã mang đến một giải pháp vững chắc cho mục tiêu cải thiện tốc độ của nhà phát triển, sự hài lòng của nhà phát triển và khả năng duy trì mã/thành phần giao diện người dùng. Sau khi bắt đầu sử dụng Compose, các kỹ sư của Twitter cho biết rằng Compose "Thật đáng kinh ngạc.
Trong nội bộ, chúng tôi gọi đây là Giao diện người dùng Android 2.0 và điều này khiến chúng tôi rất khó quay lại hệ thống khung hiển thị cũ. Compose đã tăng hiệu quả và tốc độ cho những nội dung mà chúng tôi đã phát triển riêng trong Compose".
Họ nhận thấy tốc độ phát triển và thử nghiệm đã được cải thiện: "Thời gian phản hồi đối với các thay đổi về thiết kế cho mọi thứ mà chúng tôi đã áp dụng trong Compose nhanh hơn nhiều so với trước đây. Ngoài ra, chúng tôi thử nghiệm rất nhiều trong các thay đổi về sản phẩm và điều này được thực hiện hiệu quả và nhanh chóng hơn nhiều khi được viết bằng Compose và Kotlin".
Mã mà họ viết không chỉ trực quan hơn mà còn viết nhanh hơn và dễ đọc hơn: "Ngoài ra, lớp giao diện của chúng tôi trực quan và dễ đọc hơn rất nhiều và chúng tôi có thể thực hiện trong một tệp Kotlin duy nhất. Việc này trước đây thường phải dùng nhiều tệp XML để thực hiện việc xác định thuộc tính và chỉ định thông qua nhiều lớp phủ giao diện. Việc triển khai lại toàn bộ cấu trúc tạo giao diện trong bối cảnh Compose chỉ mất vài ngày đến vài tuần và đã chứng minh là mạnh mẽ và trực quan hơn nhiều so với hệ thống giao diện cũ của chúng tôi.”
Bắt đầu
Tìm hiểu thêm về Compose (Soạn).
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2021-07-28 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2021-07-28 UTC."],[],[],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)."]]