Hike Messenger tăng tốc độ và sự đơn giản nhờ Bộ thành phần cấu trúc Android
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.

Được ra mắt vào năm 2012, Hike đang xây dựng các sản phẩm nhằm đơn giản hoá Internet để đưa Ấn Độ lên mạng. Hike kết hợp tính năng trò chuyện, nhắn tin, nguồn cấp dữ liệu và tích hợp với các ứng dụng thanh toán và vận chuyển của bên thứ ba.
Google đã phát triển những tính năng này rất nhanh chóng và tại nhiều thời điểm khác nhau, dẫn đến việc công ty gọi là "nợ kỹ thuật và kiến trúc đáng kể". Vì khoản nợ này đang trở thành một điểm nghẽn đối với tính ổn định, khả năng duy trì và hiệu suất, nên công ty muốn đơn giản hoá mã của mình một cách nhanh chóng.
Những việc họ đã làm
Hike đã chuyển sang sử dụng Bộ thành phần cấu trúc Android. Theo Giám đốc công nghệ Vishwanath Ramarao, bộ thành phần này đã trở thành "con dao Thuỵ Sĩ giúp chúng tôi giải quyết tất cả những thách thức này". Ứng dụng này bắt đầu sử dụng ViewModel, cho phép dữ liệu tiếp tục có tác dụng khi có thay đổi về cấu hình (chẳng hạn như xoay màn hình); LiveData, một lớp trình giữ dữ liệu có thể quan sát; và thư viện dữ liệu cố định Room.
"Chúng tôi là một ứng dụng hiện đại, có tính phản ứng cao, đồng thời Room và LiveData rất phù hợp với các nguyên tắc thiết kế hướng đến tương lai của chúng tôi", Ramarao cho biết thêm.
Hike cũng đang đánh giá Thư viện phân trang. Thư viện này giúp ứng dụng dễ dàng tải thông tin dần dần khi cần từ một nguồn dữ liệu mà không làm quá tải thiết bị hoặc chờ quá lâu cho một truy vấn cơ sở dữ liệu lớn.
Ramarao cho biết: "Chúng tôi đã biết về Thành phần cấu trúc nói chung và muốn tìm hiểu thêm". "Nhưng những gì bắt đầu như một hoạt động khám phá các phương pháp hay nhất trong hệ sinh thái Android đã trở thành một công cụ quan trọng để giải quyết nợ kỹ thuật và nợ kiến trúc của chúng tôi. Cuối cùng, việc này đã trở thành một cách để hiện đại hoá kiến trúc và hoạt động phát triển của chúng tôi".
Kết quả
Nhờ Architecture Components, Hike đã giảm đáng kể tổng số dòng mã trong ứng dụng của họ, đồng thời giúp mã đó dễ đọc và dễ duy trì hơn. Các Thành phần cấu trúc Android cũng giúp họ nâng tỷ lệ người dùng không gặp sự cố lên hơn 99%, điều mà trước đây họ gặp khó khăn khi thực hiện.
Bắt đầu
Bộ thành phần cấu trúc Android dành cho tất cả nhà phát triển trong Android Jetpack. Bắt đầu với Bộ thành phần cấu trúc Android.
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: 2018-05-03 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: 2018-05-03 UTC."],[],[],null,["# Hike Messenger gains speed and simplicity with Android Architecture Components\n\nLaunched in 2012, Hike is building products with the aim of simplifying the\ninternet to bring India online. Hike combines chat, messaging, feeds,\nand integrations with third-party transportation and payment apps.\nIt developed these features very rapidly and at different points in\ntime, resulting in what the company called \"significant technical and\narchitectural debt.\" Because this debt was becoming a bottleneck to\nstability, maintainability and performance, the company wanted to simplify\nits code quickly.\n\nWhat they did\n-------------\n\nHike turned to [Android Architecture Components](/jetpack/arch), which\nbecame \"our Swiss army knife to tackle all of these challenges\" says\nCTO Vishwanath Ramarao. It began using\n[ViewModel](/topic/libraries/architecture/viewmodel), which allows data to\nsurvive configuration changes (such as screen rotations);\n[LiveData](/topic/libraries/architecture/livedata), an\nobservable data-holder class; and the\n[Room](/topic/libraries/architecture/room) persistence library.\n\"We're a modern, reactive app, and Room and LiveData fit really\nwell with our forward-design principles\" Ramarao adds.\n\nHike is also evaluating the [Paging Library](/topic/libraries/paging),\nwhich makes it easier for an app gradually to load information as needed from a\ndata source, without overloading the device or waiting too long for a big\ndatabase query.\n\u003e \"We were aware of Architecture Components in general and wanted to learn more\"\n\u003e Ramarao says. \"But what started as an exploration of the Android-ecosystem\n\u003e best practices became an important tool to tackle our technical and\n\u003e architectural debt. It ultimately became a way of modernizing our\n\u003e architecture and development practice\".\n\nResults\n-------\n\nThanks to Architecture Components, Hike significantly reduced the total\nlines of code in their app, while also making that code more readable\nand maintainable. Android Architecture Components also helped them to\nraise their crash-free user ratings to well beyond 99 percent,\nsomething they'd struggled to accomplish in the past.\n\nGet started\n-----------\n\nAndroid Architecture Components is open to all developers as part of\n[Android Jetpack](/jetpack). [Get\nstarted with Android Architecture Components](/jetpack/arch)."]]