CHƯƠNG 2 : KHẢO SÁT KỸ THUẬT MÔ HÌNH HÓA LUỒNG TƯƠNG TÁC
2.4. Kỹ thuật IFML trong phát triển ứng dụng di động
2.4.3. Cơ chế sinh mã nguồn trong lĩnh vực di động
Qua trình bày trong mục 2.3.4. Cơ chế sinh mã nguồn, cách tiếp cận số 4 áp dụng IFML trong lĩnh vực di động được diễn giải như Hình 2.19:
Hình 2.19: Cách tiếp cận PIM - CFS - CPC [8]
PIM biểu diễn bởi IFML được chuyển đổi thành mô hình phụ thuộc framework đa nền tảng (CFS) qua bộ chuyển đổi M2M. Sau đó, CFS được chuyển đổi thành mã nguồn đa nền tảng qua bộ chuyển đổi M2T và xây dựng thành các ứng dụng di động trên nền tảng tương ứng qua các API của framework đa nền tảng. Tuy nhiên, cách tiếp cận này chưa chính xác cho quá trình phát triển ứng dụng di động với IFML. Qua nội dung nghiên cứu của luận văn, tác giả đề xuất cách tiếp cận cho quá trình sinh mã, xây dựng ứng dụng di động với IFML được thể hiện trong Hình 2.20.
WebRatio sử dụng một nền tảng sẵn có cho kỹ thuật sinh mã tự động: Apache Cordova. Ý tưởng chính là sinh mã HTML5, CSS3 và JavaScript từ các mô hình độc lập nền IFML, sau đó, các mã nguồn này được đóng gói bởi framework Cordova và gửi tới máy chủ PhoneGap Build để có thể xây dựng ứng dụng trực tiếp dưới dạng file chạy cho Android (apk) và iOS (ipa). Kiến trúc có thể được mô tả cụ thể hơn trong Hình 2.21[18]:
Hình 2.21: Kiến trúc phát triển ứng dụng di động đa nền tảng của IFML. Bộ sinh mã phân tích mô hình đầu vào tuần tự hóa dưới dạng các file XML Bộ sinh mã phân tích mô hình đầu vào tuần tự hóa dưới dạng các file XML (XMI) với tất cả thông tin về dữ liệu ứng dụng, dữ liệu tương tác và tạo ra tất cả các mã JavaScript, HTML cần thiết để có thể chạy ứng dụng dưới dạng ứng dụng di động trên nền tảng Web. Như vậy, bản chất việc xây dựng ứng dụng di động với IFML là việc chuyển đổi sử dụng mô hình M2T để sinh các mã JavaScript, HTML từ các mô hình IFML. Các công đoạn còn lại để tạo nên các ứng dụng di động được WebRatio sử dụng máy chủ của Adobe là PhoneGap - Cordova. Việc thể hiện ứng dụng dưới dạng "nhìn và cảm nhận" được dựa trên các file CSS3 cơ bản, chúng chứa các luật chung cho mẫu thiết kế tương tác ứng dụng di động. Tuy nhiên, WebRatio không khuyến khích các nhà phát triển thay đổi mã nguồn của ứng dụng được sinh ra mà thay vào đó là việc thay đổi các luật chuyển nhằm tạo một ứng dụng hoàn hảo hơn [18].