React Native tại Airbnb

Hoàng Vĩnh

Trong năm 2016, chúng tôi đã đặt cược vào React Native. Hai năm sau, trải nghiệm này đã sẵn sàng để chia sẻ với cả thế giới và cho thấy những gì mong đợi trong tương lai.

Nhiều năm sau, chúng tôi vẫn có thể đặt phòng họp thông qua Airstream

Đây là bài viết đầu tiên trong loạt bài đăng trên blog mà chúng tôi phác thảo trải nghiệm với React Native và những gì sắp đến trong tương lai với thiết bị di động tại Airbnb.

Khi Airbnb ra mắt 10 năm trước, điện thoại thông minh chỉ mới ở giai đoạn trứng nước. Kể từ đó, điện thoại thông minh đã trở thành một công cụ cần thiết để điều hướng cuộc sống hàng ngày của chúng ta, đặc biệt là ngày càng có nhiều người du lịch vòng quanh thế giới. Là một cộng đồng cung cấp các hình thức du lịch mới cho hàng triệu người, việc có một ứng dụng đẳng cấp thế giới là rất quan trọng. Các thiết bị di động thường là dạng giao tiếp chính hoặc duy nhất của chúng ta khi ở xa nhà.

Kể từ khi ba vị khách đầu tiên của chúng tôi ở lại Phố Rausch vào năm 2008, mức sử dụng điện thoại di động đã tăng từ 0 đến hàng triệu lượt đặt chỗ mỗi năm. Ứng dụng của chúng tôi cung cấp cho chủ nhà khả năng quản lý danh sách khi đang di chuyển và mang đến cho du khách cảm hứng khám phá những địa điểm và trải nghiệm mới ngay trong tầm tay của họ.

Để theo kịp tốc độ nhanh chóng của việc sử dụng thiết bị di động, chúng tôi đã phát triển đội ngũ tới hơn 100 kỹ sư di động để mang lại trải nghiệm mới và cải thiện những cái hiện tại.

Đặt cược vào React Native

Chúng tôi liên tục đánh giá các công nghệ mới để giúp cải thiện trải nghiệm sử dụng Airbnb cho khách và chủ nhà, di chuyển nhanh chóng và duy trì trải nghiệm tuyệt vời cho nhà phát triển. Trong năm 2016, một trong những công nghệ đó là React Native. Hồi đó, dù đã nhận ra tầm quan trọng của thiết bị di động đối với doanh nghiệp của chúng tôi nhưng lại không có đủ kỹ sư di động để đạt được mục tiêu. Kết quả là, chúng tôi bắt đầu khám phá các lựa chọn thay thế. Trang web của chúng tôi được xây dựng chủ yếu với React. Nó là một khuôn khổ web rất hiệu quả và phổ biến trong Airbnb. Vì thế, chúng tôi đã thấy React Native như là một cơ hội để mở rộng phát triển di động cho nhiều kỹ sư cũng như mã tàu nhanh hơn bằng cách tận dụng tính chất đa nền tảng của nó.

Khi bắt đầu đầu tư vào React Native, chúng tôi biết rằng sẽ có những rủi ro. Chúng tôi đã thêm một nền tảng mới, tốc đô nhanh và chưa được chứng minh vào hệ thống mã có khả năng phân đoạn thay vì hợp nhất. Chúng tôi cũng biết rằng nếu đầu tư vào React Native, thì phải làm cho đúng. Mục tiêu của chúng tôi với React Native là:

  • Cho phép chúng tôi tiến xa nhanh hơn với tư cách là một tổ chức.
  • Duy trì khung chất lượng của native
  • Viết mã sản phẩm một lần cho điện thoại di động thay vì hai lần.
  • Cải thiện trải nghiệm của nhà phát triển.

Trải nghiệm của chúng tôi

Trong hai năm qua, thí nghiệm đó đã trở thành một nỗ lực nghiêm túc. Chúng tôi đã tích hợp một cách mạnh mẽ các ứng dụng của mình để hoạt hóa các tính năng native phức tạp như chuyển đổi phần tử chia sẻ, thị sai và định vị địa lý cũng như các cầu nối đến cơ sở hạ tầng gốc hiện có như là kết nối mạng, thử nghiệm và quốc tế hóa.

Chúng tôi đã đưa ra một số sản phẩm quan trọng cho Airbnb sử dụng React Native. React Native đã cho phép chúng tôi triển khai Experiences, một hình thức kinh doanh hoàn toàn mới cho Airbnb, cũng như hàng chục tính năng khác từ đánh giá đến thẻ quà tặng. Nhiều trong số các tính năng này được xây dựng ở một thời điểm mà không có đủ kỹ sư bản địa để đạt được mục tiêu của chúng tôi.

Các đội ngũ khác nhau lại có những trải nghiệm riêng với React Native. React Native được coi là một công cụ đáng kinh ngạc ở thời điểm này nhưng lại đặt ra những thách thức về kỹ thuật và tổ chức ở một thời điểm khác. Trong loạt bài này, trải nghiệm của chúng tôi với React Native và những bước tiếp theo trong tương lai sẽ được thuật lại chi tiết.

Trong phần hai, chúng tôi sẽ liệt kê những gì hiệu quả và những gì không với React Native trong lĩnh vực công nghệ.

Trong phần ba, chúng tôi liệt kê một số thách thức về tổ chức liên quan đến việc xây dựng nhóm di động đa nền tảng.

Trong phần bốn, chúng tôi sẽ nhấn mạnh vị trí chúng tôi đang đứng với React Native hôm nay và tương lai của nó tại Airbnb sẽ như thế nào.

Trong phần năm, chúng tôi lấy các bài học hàng đầu của chúng tôi từ React Native và sử dụng chúng để làm cho ứng dụng native tốt hơn bao giờ hết.

Tác giả: Gabriel Peal | Nguồn: medium.com