Các công ty đã thực hiện rất nhiều thực nghiệm với các thiết bị di động, nhiều công ty đang sử dụng PhoneGap để tạo ra những giải pháp nhanh và đa nền tảng (cross-platform). Kết quả cho thấy PhoneGap rất tốt nhưng lại ko phải là tốt nhất. Vì lí do này, các công ty đang tìm kiếm một giải pháp có thể cung cấp phương hướng giải quyết rõ ràng cách để nâng tầm lập trình cross-platform
Số lượng mobile platform cần hỗ trợ bây giờ đã giảm xuống chỉ còn 3: Android, iOS và HTML5. Xin lỗi nhưng Microsoft và Blackberry, thời của các vị đã tàn rồi và Tizen thì có khá ít người biết đến. Thách thức ở đây chính là 3 platform hàng đầu này đều rất khác trong cách phân phối (deliver): bao gồm native apps vs website
Trong nhiều năm, ngày càng có nhiều công ty phần mềm tìm kiếm một giải pháp toàn diện cho phép các delivery team sử dụng công cụ cần thiết để xây dựng 1 app cho bất kì platform nào trong chỉ 1 môi trường tích hợp duy nhất hay còn gọi là IDE (integrated development environment). Hầu hết các giải pháp như Titanium và các version trước đó của PhoneGap hứa hẹn rất nhiều nhưng lúc deliver thì lại không khả quan
Các vấn đề xuất hiện khi xây dựng những app phức tạp. Những tool cross-platform đầu tiên không thực hiện được công việc đề ra. Tuy nhiên, ngày nay, thế giới đang ngày càng phát triển và sau đây là 3 tool cho phép xây dựng các giải pháp cross-platform dễ dàng hơn.
Xamarin – một startup được ra mắt vào 2014, là một công ty với 1 sứ mệnh duy nhất “ truyền tải các giải pháp đa nền tảng với chất lượng cao cho iOS, OS X, Android và Windows, xây dựng với C#. Rất dễ hiểu khi Xamarin chọn C# vì đây là ngôn ngữ lập trình mặc định của Microsoft với hàng triệu người sử dụng. Có 3 phần chính trong bộ công cụ của Xamarin:
Điều tách biệt Xamarin với các giải phát cross-platform khác chính là các nỗ lực tiếp tục để cải thiện tool cốt lõi cho việc deliver. Những ngày tháng tự mình phát triển 1 ứng dụng di động đã không còn nữa. Những người trong team của bạn bao gồm lập trình viên, UI/UX, testing, các lần tích hợp liên tục, deploy, hỗ trợ trạng thái ổn định và phân tích để đem lại sự thanh công
Tool cross-platform dễ sử dụng nhất là website. Sự ra mắt của iPhone cùng Steve Jobs cho thấy rằng bạn có thể có cả thế giới web chỉ trên một chiếc smartphone. Bằng nhiều cách, tính di động đã trở thành chất xúc tác HTML 5 cần để tăng cường hỗ trợ. Trong nhiều năm, các website trên máy tính để bàn phải duy trì hỗ trợ cho các version cũ hơn của Internet Explorer. Ngược lại, các trình duyệt web trên mobile lại update thường xuyên. Mỗi lần iOS phát hành lại mang theo một version update mới của WebKit, cỗ máy cho phép Mobile Safari và Google update Chromes cho Android mỗi 6 tới 8 tuần. Không chịu thua kém, Microsoft đã phát hành một trình duyệt mới Edge thay thế cho IE
Rõ ràng HTML 5 hôm nay không còn là web 2.0 thời xa xưa. HTML5 cực kì mạnh mẽ. Hãy xem xét như sau: Microsoft Offlice, Google Docs, TurboTax, WorkDay và Concur đều là các giải pháp được hỗ trợ bởi HTML5. Việc áp dụng nhanh chóng các API và tiêu chuẩn mới tiếp tục thúc đẩy khái niệm về một ứng dụng web. Sau đây là một vài điều bạn có thể làm với HTML5:
Các Website như HTML5Test, CanIUse và MobileHTML5 cho thấy một danh sách hoàn chỉnh những hỗ trợ chuẩn mực mới nhất bởi mỗi trình duyệt. Hãy chuẩn bị để ghé thăm những địa chỉ này thường xuyên. Công cụ update sáng tạo Google và Apple sử dụng trong trình duyệt mobile đảm bảo rằng các thiết bị luôn được tạo thuận lợi với các công nghệ HTML5 mới
Môi trường lập trình cross-platform mới nhất được phát hành tên là Ionic. Công cụ này chỉ mới vài năm tuổi, thiếu những hỗ trợ chi tiết và rất khó để cài đặt. Vậy tại sao nó có ở trong list này? Đơn giản, vì Ionic cực kì nhanh.
Cốt lõi của Ionic Framework được xây dựng dựa trên AngularJS và Apache Cordova. AngularJS được sử dụng thay cho jQuery để tận dụng khả năng tăng tốc phần cứng tự nhiên thay vì xử lý DOM chuyên sâu của bộ vi xử lý. Thêm vào đó, sự kết hợp này cho phép tạo ra nhiều danh sách phức tạp và xem các vật chứa (containers) mà ko làm ảnh hướng tới hiệu suất của thiết bị. Mọi thứ với Ionic được thiết kế để cải thiện hiệu suất. Theme mặc định sử dụng loại CSS tăng cường CPU cho các hiệu ứng thay vì loại CanvasJs làm hao hụt CPU
Có 3 công cụ của Ionic:
Để bắt đầu với Ionic cần yêu cầu NodeJS và Xcode trên máy Mac. Một khi bạn đã cài đặt và chạy được, bạn có thể nhận được sự hỗ trợ từ Ionic Twitter, Facebook và Youtube. Bản thân Ionic Framework là một framework có mã nguồn mở được quản lí trên GitHub
Có nhiều tool cross-platform có thể sử dụng để tạo ra các mobile app cho iOS và Android. Những giải pháp tiếp theo đều có những chuyên môn riêng và không phải là tool phổ biến giống 3 tool ở phía trên
Bạn sẽ nhận thấy một theme chung mà tất cả các tool đều liệt kê: APIs. Trong nhiều trường hợp, APIs là gia vị bí mật với tất cả các ứng dụng mobile. Một API có cấu trúc tốt như Google Maps API có thể giảm lượng việc phải lập trình trên khách hàng, cho dù nó ở trên app, website hay là một giải pháp cross-platform nào khác
Sức mạnh khi lập trình cross-platform là việc giảm thiểu đáng kể thời gian phát triển. Tuy nhiên, trong một vài trường hợp, cross-platform lại không phải là một sự lựa chọn đúng đắn. Android vs iOS đã phát triển quá nhanh so với những công cụ như Cordova, Xamarin và các quy chuẩn HTML5 thậm chí còn hi vọng có thể theo kịp. Nếu bạn cần phải nâng cấp framework iOS mới nhất, khi đó, bạn có thể nghĩ đến các native code. Hiệu suất có thể trở thành 1 vấn đề với các app lớn. Một lần nữa, native code trở thành một sự lựa chọn đúng đắn
Điểm mấu chốt là các giải pháp đa nền tảng đã trưởng thành đáng kể trong những năm gần đây. Bạn có thể lập trình bằng chứng về khái niệm, ứng dụng của nhân viên và thậm chí là các ứng dụng chính thống phổ biến với các giải pháp cross-platform. Tuy nhiên, không có phương pháp "một kích thước phù hợp với tất cả" để phân phối ứng dụng. Áp dụng đúng công cụ cho đối tượng bạn đang tìm kiếm để hỗ trợ. Điều này có nghĩa là deliver team của bạn phải tiếp tục nâng cấp một loạt các kỹ năng để phân phối các ứng dụng dành cho thiết bị di động.
Via Techbeacon