Kotlin Multiplatform được Autodesk sử dụng trong phát triển sản phẩm như thế nào?

5/5 - (3 bình chọn)

Autodesk, hãng phần mềm CAD nổi tiếng thế giới hiện đang sử dụng Kotlin Multiplatform để cung cấp nguồn cho mô hình dữ liệu và logic đồng bộ ngoại tuyến trên 3 nền tảng di động: iOS, Android và Windows. Cùng theo dõi chia sẻ của Ben Asher, Nhà phát triển iOS tại Autodesk.

autodesk-su-dung-kotlin-multiplatform

Kotlin Multiplatform được Autodesk sử dụng trong phát triển sản phẩm như thế nào?

“Tại Autodesk, chúng tôi tồn tại để biến những ý tưởng thành hiện thực mới định hình một tương lai thịnh vượng. Phần mềm và dịch vụ của chúng tôi khai thác các công nghệ mới nổi – chẳng hạn như sản xuất phụ gia (in 3D), trí tuệ nhân tạo, thiết kế tạo gen và robot – mang lại cho các công ty và cá nhân sức mạnh để làm việc nhanh chóng, hiệu quả và bền vững hơn trong toàn bộ vòng đời của dự án.” – Ben Asher, iOS Developer, Autodesk.

PlanGrid của Autodesk là một ứng dụng năng suất xây dựng cho phép mọi người cộng tác trong các dự án xây dựng. Nhóm của tôi tại Autodesk có trụ sở tại San Francisco và Tel Aviv, nhưng đây là một công ty toàn cầu có văn phòng ở nhiều quốc gia.

PlanGrid (ứng dụng tôi làm việc trên đó chúng tôi sử dụng Multiplatform) được sử dụng trên hơn 1,8 triệu dự án xây dựng tại hơn 100 quốc gia trên thế giới.

Chúng tôi sử dụng Kotlin Multiplatform để cung cấp một nguồn chân lý duy nhất cho mô hình dữ liệu và logic đồng bộ ngoại tuyến trên 3 nền tảng di động của chúng tôi: iOS, Android và Windows.

Kotlin là một ngôn ngữ hiện đại mà phần lớn nhóm của chúng tôi đã làm việc với nó, điều đó có nghĩa là chúng tôi sẽ không nhất thiết phải vứt bỏ mã nếu Multiplatform không phù hợp với chúng tôi. Nó có nguồn gốc từ Android (vì vậy không có JNI) và nó hoạt động tốt cho iOS. Đó là sự kết hợp hiếm hoi cho một ngôn ngữ có thể hoạt động mà không cần JVM. Thông thường, các giải pháp đa nền tảng yêu cầu rất nhiều công việc với JNI.

Lợi ích của việc sử dụng Kotlin Multiplatform

Một kỹ sư có thể tạo ra một tính năng mới và thử nghiệm nó trên một nền tảng, sau đó các nền tảng khác có thể kết nối các mô hình dữ liệu và logic nghiệp vụ với giao diện người dùng trên nền tảng của họ và sử dụng lại hầu hết các nền tảng. Giờ đây, chúng tôi đang làm việc trong một cơ sở mã dùng chung, chúng tôi cộng tác nhiều hơn trên các nền tảng.

Duy trì quy trình phát triển trên nhiều nền tảng có thể là một thách thức. Kotlin / Native là công nghệ mới hơn, vì vậy phần đó đã phức tạp hơn một chút. Ví dụ, nhóm Windows của chúng tôi đã phải dành nhiều thời gian hơn cho việc tương tác so với iOS và Android. Cũng có một số trục trặc khi ghi nhật ký sự cố sớm. Nói chung, chuỗi công cụ không bóng bẩy như Android, nhưng nó trở nên tốt hơn với mỗi bản phát hành.

Lời khuyên tốt nhất mà tôi có thể đưa ra về việc tham gia vào multiplatform là đọc qua một số tài liệu trên gradle.org về tác giả của các nhiệm vụ để tự làm quen với cách hoạt động của các nhiệm vụ gradle và gradle. Hiểu rõ về những gì gradle đang làm đã giúp chúng tôi rất nhiều trong suốt chặng đường.

Với Kotlin Multiplatform, một kỹ sư có thể xây dựng một tính năng mới và thử nghiệm nó trên một nền tảng, sau đó các nền tảng khác có thể kết nối các mô hình dữ liệu và logic nghiệp vụ với giao diện người dùng trên nền tảng của họ và sử dụng lại hầu hết các nền tảng. Giờ đây, chúng tôi đang làm việc trong một cơ sở mã dùng chung, chúng tôi cộng tác nhiều hơn trên các nền tảng.

Ben Asher, Nhà phát triển iOS, Autodesk