1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu đánh giá các framework phát triển ứng dụng di động đa nền tảng luận văn ths máy tính 604801

55 45 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ HỒ DANH CHUẨN TÌM HIỂU ĐÁNH GIÁ CÁC FRAMEWORK PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG ĐA NỀN TẢNG LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM Hà Nội - 2017 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ HỒ DANH CHUẨN TÌM HIỂU ĐÁNH GIÁ CÁC FRAMEWORK PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG ĐA NỀN TẢNG Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM NGƯỜI HƯỚNG DẪN KHOA HỌC: TS TRẦN THỊ MINH CHÂU XÁC NHẬN CỦA CHỦ TỊCH HỘI ĐỒNG XÁC NHẬN CỦA CÁN BỘ HƯỚNG DẪN Hà Nội - 2017 LỜI CAM ĐOAN Tôi xin cam đoan nội dung kết luận văn tốt nghiệp tự nghiên cứu hướng dẫn TS Trần Thị Minh Châu Trong toàn nội dung luận văn, nội dung đư ợc trình bày cá nhân tơi tổng hợp từ nhiều nguồn tài liệu khác Tất tài liệu tham khảo trích dẫn rõ ràng phần cuối luận văn Tôi xin cam đoan nh ững lời thật Nếu sai xin hoàn toàn chịu trách nhiệm Hà Nội, ngày tháng năm 2017 Học viên Hồ Danh Chuẩn LỜI CẢM ƠN Đầu tiên xin chân thành cảm ơn TS Trần Thị Minh Châu tận tình hướng dẫn đóng góp ý kiến q báu chun mơn phương pháp nghiên cứu khoa học đ ể tơi thực đư ợc luận văn tốt nghiệp thạc sĩ Cô gương mặt sống để học tập noi theo Trong suốt trình học tập trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, xin chân thành cảm ơn thầy, cô giáo cung cấp cho kiến thức hữu ích, bổ trợ cho trình phát triển sau Cuối xin gửi lời cảm ơn tới gia đình tơi ln ủng hộ tơi đường học tập nghiên cứu với nhiều khó khăn, vất vả Mặc dù c ố gắng q trình làm luận văn khơng thể tránh khỏi thiếu sót, mong nhận góp ý thầy Hà Nội, ngày tháng Học viên Hồ Danh Chuẩn MỤC LỤC DANH MỤC CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU CHƯƠNG 1: GIỚI THIỆU 1.1 Đặt vấn đề 1.2 Mục tiêu phạm vi nghiên cứu CHƯƠNG 2: NGHIÊN CỨU TỔNG QUAN VỀ PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG ĐA NỀN TẢNG 2.1 Các cách tiếp cận việc phát triển ứng dụng di động 2.1.1 Phát triển ứng dụng native 2.1.2 Phát triển ứng dụng web 2.1.3 Phát triển ứng dụng hybrid 2.2 Ionic framework 2.2.1 Giới thiệu 2.2.2 Kiến trúc 2.2.3 Điểm bật 2.2.4 Ưu điểm nhược điểm 2.3 Xamarin framework 2.3.1 Điểm bật 2.3.2 Kiến trúc [3] 2.3.3 Ưu điểm nhược điểm CHƯƠNG 3: SO SÁNH VÀ ĐÁNH GIÁ 3.1 So sánh 3.2 Đánh giá CHƯƠNG 4: ỨNG DỤNG THỬ NGHIỆM 4.1 Ứng dụng so sánh khả phát triển hai tảng 4.1.1 Nội dung ứng dụng 4.1.2 Kết thực nghiệm 4.2 Ứng dụng so sánh hiệu 4.2.1 Nội dung thực nghiệm 44 4.2.2 Kết thực nghiệm 44 4.3 Khuyến nghị 45 CHƯƠNG 5: KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 48 Chữ viết tắt IDE MVC API SDK HTML DOM JNI CLR CLI AOT JIT IL REST JSON WCF MSIL GPU CPU DANH MỤC HÌNH VẼ Hình 2.1: Thanh Tab bar Ionic, biểu diễn Android iOS 11 Hình 2.2: Cấu trúc ứng dụng Ionic/Cordova 13 Hình 2.3: Kiến trúc Cordova plugin 14 Hình 2.4: Phương thức hoạt động ứng dụng Xamarin iOS 24 Hình 4.1: Ứng dụng thực nghiệm minh họa việc phát triển chức Ionic Xamarin 40 Hình 4.2: Giao diện hình hiển thị đồ Google Maps 41 Hình 4.3: Giao diện hình hiển thị danh sách ảnh 42 Hình 4.4: So sánh hiệu ứng dụng iOS phát triển ObjC, Xamarin iOS 45 DANH MỤC BẢNG BIỂU Bảng 3.1: Bảng so sánh tính hỗ trợ Ionic Xamarin tảng iOS 28 Bảng 4.1: Bảng so sánh chức hai tảng Ionic Xamarin 42 CHƯƠNG 1: GIỚI THIỆU 1.1 Đặt vấn đề Ngày nay, hệ sinh thái di động đóng vai trị quan trọng chiến lược kinh doanh hầu hết doanh nghiệp Các doanh nghiệp đ ều nghiêm túc việc phát triển phát hành ứng dụng phục vụ mục đích kinh doanh họ Tuy nhiên dù mục đích doanh nghiệp phát triển ứng dụng di động vấn đề hữu việc lựa chọn cách tiếp cận tốt cho họ - công cụ hay phương pháp nên triển khai để họ đưa ứng dụng đến khách hàng, thời điểm mà không cần quan tâm đến thiết bị, tảng người dùng cuối sử dụng Tuỳ thuộc vào ứng dụng có u cầu tính năng, trải nghiệm người dùng, vịng đời sản phẩm, Có ứng dụng có vịng đời ngắn phục vụ thời điểm định ứng dụng phục vụ kiện; có ứng dụng lại có vịng đời dài, gắn liền với tồn doanh nghiệp; có ứng dụng yêu cầu tương tác nhiều với thành phần thiết bị; có ứng dụng cần người dùng tương tác nhiều lên thiết bị, Tuy nhiên, tựu chung lại tất có ểm chung: ứng dụng cần đư ợc xây dựng nhanh tốt, rẻ tốt chạy nhiều thiết bị tốt Để lựa chọn chiến lược phát triển ứng dụng tốt, bên liên quan phải đánh giá tiềm ứng dụng, cân yêu cầu khoảng thời gian cần thiết để đưa ứng dụng thị trường Sự phát triển tảng di động phụ thuộc nhiều vào trải nghiệm người dùng tảng Apple chiếm vị trí cao thị phần di động nhờ việc cung cấp cho người dùng trải nghiệm đồng với chất lượng cao Tương ứng, nhà phát triển ứng dụng đa tảng phải hướng đến việc tạo ứng dụng đáp ứng yêu cầu người dùng Trong trải nghiệm người dùng trở thành mục tiêu ứng dụng, có đến bốn đến năm tảng di động cần cân nhắc phát triển: iOS, Android, BlackberryOS, Windows Phone Mobile Web để đưa sản phẩm đến đ ược với khách hàng Trong hai n ền tảng đư ợc trọng nhiều iOS Android Blackberry Microsoft dừng sản xuất thiết bị chạy BlackberryOS Windows Phone Tất hệ điều hành di động khác công nghệ, ngơn ngữ lập trình, cách thức lập trình tiếp cận lập trình viên cần sỡ hữu lượng kỹ đủ lớn để có thể đưa sản phẩm đáp ứng yêu cầu độ phủ tính đa dạng theo cách truyền thống Nếu ứng dụng cần phát triển nhiều hai tảng, việc đưa sản phẩm có trải nghiệm trung thành tất tảng tiêu tốn nhiều thời gian cơng sức khác biệt tảng Và nhà phát triển chấp nhận việc chạy test case tảng hi vọng chạy tốt tảng khác sử dụng số cách tương đối “linh hoạt” để tiết kiệm thời gian công sức cho việc kiểm thử Trên Ionic, logic ứng dụng viết ngơn ngữ Javascript dựa khung AngularJS Vì để thực kiểm thử đơn vị Ionic, lập trình viên thường sử dụng ln thư viện kiểm thử đơn vị AngularJS ví dụ Jasmine Karma Jasmine Karma hai khung kiểm thử khuyến nghị Angular, chứng minh chức tiện lợi Kiểm thử đơn vị Ionic lập trình viên khơng phải suy nghĩ nhiều việc phải thực tảng khác Các logic xử lý giống tất tảng ứng dụng Ionic chạy tảng web, phụ thuộc vào tảng hệ điều hành ứng dụng Như vậy, việc kiểm thử đơn vị Ionic có lợi Xamarin nhờ thống môi trường chạy ứng dụng Bên cạnh việc kiểm thử logic ứng dụng cách sử dụng kiểm thử đơn vị kiểm thử chấp nhận giao diện (UI Acceptance Testing) quan trọng lập trình viên để đảm bảo chất lượng ứng dụng, Tuy nhiên, trình thường tiêu tốn nhiều tài ngun chất thủ cơng Trước đây, trình kiểm thử giao diện cần nhiều sức người để triển khai ứng dụng sử dụng nó, kiểm tra xem ứng dụng có hoạt động khơng, bố trí giao diện có bị xơ lệch thiết bị khác không Sự phức tạp tăng lên việc kiểm thử cần thực build tảng, nhiều thiết bị tốt mà ứng dụng hoạt động Điều trở nên sức với kể công ty lớn chưa tính đến nhà phát triển độc lập Để thực kiểm thử giao diện Xamarin nhà phát triển sử dụng thư viện cơng cụ Xamarin Test Cloud có tên Xamarin.UITest để thực Xamarin.UITest khung kiểm thử cho phép thực trính kiểm thử chấp nhận giao diện tự động viết NUit để chạy thiết bị iOS Android Các ca kiểm thử tương tác với giao diện người dùng môt người dùng nhập văn bản, tương tác với thành phần điều khiển, thực cử vuốt, kéo thả, Thông thường, trường hợp kiểm thử viết phương thức Mỗi lớp chứa trường hợp kiểm thử gọi ‘test fixture' Mỗi ‘test fixture' chứa trường hợp kiểm thử chứa trường hợp kiểm thử chịu trách nhiệm việc khởi tạo, thiết lập để phương thức kiểm thử chạy giải phóng tài nguyên phiên kiểm thử kết thúc Xamarin.UITest cho phép lập trình viết test case chạy thiết bị tải lên dịch vụ Test Cloud để 37 thực trình kiểm thử nhiều thiết bị Để thực kiểm thử giao diện khung phát triển ứng dụng sử dụng tảng web Xamarin, thơng thường, nhà phát triển thực kiểm thử trình duyệt thơng thường Chrome, mô giao diện ứng dụng di động kiẻm thử trực tiếp thiết bị Để kiểm thử trình duyệt thơng thường, sử dụng khung kiểm thử Jasmine kiểm thử đơn vị kết hợp với Protractor [12], khung kiểm thử giao diện cho phép tương tác với trình duyệt người dùng, thiết kế cho ứng dụng sử dụng Angular Tuyệt vời nữa, để kiểm thử trực tiếp ứng dụng, nhà phát triển sử dụng Appium [13] Appium cơng cụ kiểm thử tự động sử dụng với ứng dụng native, hybrid hay web Appium có đ ặc ểm thú vị cho phép nhà phát triển viết test case ngơn ngữ tuỳ ý, phục thuộc vào giao diện lập trình ứng dụng HTTP để tương tác với thành phần kiểm thử tự động tảng Tổng kết lại, khung kiểm thử Xamarin Ionic hỗ trợ tốt hai tảng Android iOS Q trình kiểm thử khơng phức tạp thực thiết bị máy ảo Khi so sánh việc kiểm thử tự động Xamarin Ionic Xamarin có lợi định Q trình kiểm thử tự động Ionic có thống cao chạy trực tiếp tảng web, Xamarin bời trình biên dịch Xamarin chịu trách nhiệm phiên dịch mã nguồn Xamarin sang đoạn mã native tảng Vì vây việc kiểm thử tảng trở nên phân tán, để đảm bảo chất lượng ứng dụng nhà phát triển cần phải chạy ca kiểm thử tảng Việc cần nhiều cơng sức nhà phát triển 38 CHƯƠNG 4: ỨNG DỤNG THỬ NGHIỆM Qua việc tổng hợp nghiên cứu phân tích chương trước, đ ể minh họa khả phát triển hiệu hai tảng Ionic Xamarin, thực xây dựng ứng dụng nhỏ theo tiêu chí so sánh chương Bên cạnh tơi xây dựng ứng dụng để so sánh hiệu ba khung phát triển Ionic, Xamarin native Từ có kết luận khuyến nghị cho nhà phát triển xây dựng ứng dụng 4.1 Ứng dụng so sánh khả phát triển hai tảng Trong phạm vi luận văn, thực xây dựng ứng dụng thực nghiệm nhỏ hai tảng Ionic Xamarin theo tiêu chí phân tích chương ba để thực việc so sánh đánh giá cách khách quan cụ thể 4.1.1 Nội dung ứng dụng Ứng dụng xây dựng minh họa việc phát triển chức UI UX, layout, animation, hỗ trợ bên thứ ba, đa lu ồng Mỗi chức phát triển tảng iOS dựa hai khung phát triển Ionic Xamarin để qua so sánh mức độ khả thi phát triển ứng dụng hai tảng 39 a Ionic b Xamarin Hình 4.1: Ứng dụng thực nghiệm minh họa việc phát triển chức Ionic Xamarin - UI UX: Ứng dụng phát triển minh họa việc chuyển đ ổi animation tùy chỉnh hai trang giao diện - Layout: Ứng dụng thực nghiệm xây dựng với giao diện dạng lưới (chứa đoạn văn dạng text hình ảnh), giao diện thay đổi kích thước hàng, cột tự động đ ể hiển thị phù hợp với nhiều kích thước hình khác - Animation: ứng dụng minh họa việc thực animation lung lay chạm vào nút bấm - Dịch vụ thư viện từ bên thứ ba: Ứng dụng thực chức tích hợp đồ Google Maps hiển thị giao diện 40 a Ionic b Xamarin Hình 4.2: Giao diện hình hiển thị đồ Google Maps - Đa luồng: Để minh họa chức này, ứng dụng xây dựng danh sách cuộn cho phép tải ảnh luồng chạy thực tương tác với giao diện luồng 41 a Ionic b Xamarin Hình 4.3: Giao diện hình hiển thị danh sách ảnh 4.1.2 Kết thực nghiệm Bảng 4.1: Bảng so sánh chức hai tảng Ionic Xamarin Chức UI UX CoreAnimation có sẵn iOS đ ể thực q trình chuyển đ ổi Bên cạnh đó, cần phải viết iOS đ ể thực trình chuyển đ ổi “lật” hai trang Toàn mã nguồn thực đoạn mã wrapper tính 26 dịng javascript để gọi tính từ ứng dụng Ionic Tồn mã nguồn thực tính 299 dịng Layout Animation Dịch vụ thư viện từ bên thứ ba Đa luồng Để thực chức cho phép tải ảnh luồng chạy ngầm cần có kết hợp API native (NSMutableURLRequest) cho phép thực yêu cầu tầng thông báo (sử dụng Rxjs) cho thành phần web cập nhật giao diện nội dung sẵn sàng Sử dụng NET Api [13] tích hợp sẵn Xamarin đ ể tạo tác vụ chạy ngầm sử dụng API (Device.InvokeOnMainThread) cho phép tương tác với thành phần giao diện luồng để cập nhật giao diện nộik dung sẵn sàng Bằng ứng dụng thực nghiệm, thấy phần trình phát triển chức cần có ứng dụng Cả Ionic Xamarin cung cấp cho nhà phát triển khả để tích hợp chức phổ biến vào ứng dụng Tuy nhiên, qua ứng dụng thực nghiệm, thấy đư ợc việc triển 43 khai chức mà chưa Ionic hỗ trợ nhà phát triển thơng thường phức tạp khó khăn nhiều so với Xamarin Điều đến từ khác biệt cách tiếp cận hai khung phát triển Ứng dụng Xamarin chất ứng dụng native, kết hợp với khả tương tác tốt với tảng native Các API Xamarin xây dựng tương ứng với API native tảng cụ thể Điều giúp cho lập trình viên sử dụng tài liệu có sẵn để triển khai tính chưa hỗ trợ mặc định Trong đó, ứng dụng Ionic chạy tảng web, lập trình viên phải tương tác với thành phần tảng qua tầng trung gian WebKit Điều dẫn đến việc nhà phát triển cần phải có kĩ rộng bao gồm tảng web native để xử lý vấn đề mức độ sâu Chính lý dẫn đến nhược điểm lớn Ionic việc phụ thuộc vào plugin, nói xác phụ thuộc vào số nhỏ lập trình viên có kinh nghiệm, có khả triển khai tính 4.2 Ứng dụng so sánh hiệu 4.2.1 Nội dung thực nghiệm Khi nhắc đ ến khung phát triển ứng dụng đa n ền tảng sử dụng công nghệ web, nhiều nhà phát triển phân vân hiệu ứng dụng xây dựng dựa khung phát triển Tuy nhiên, khung phát triển ứng dụng di động dựa cơng nghệ web có bước phát triển nhanh chóng hiệu nhờ q trình tối ưu khung phát triển, sức mạnh phần cứng mạnh thiết bị, trình tối ưu engine we b hệ điều hành Đ ể so sánh hiệu khung phát triển ứng dụng đa tảng, viết ứng dụng nhỏ đo thời gian ứng dụng xây dựng dựa vào khung xử lý tác vụ ứng dụng Ứng dụng mô trình xử lý liệu ứng dụng thể thao, cho phép xử lý liệu vị trí người dùng Dữ liệu ứng dụng biểu diễn dạng JSON CSV bao gồm 531 dòng liệu thể trình di chuyển người dùng Ứng dụng xây dựng dựa ba tảng công nghệ native iOS, Xamarin Ionic với logic Ứng dụng thực nghiệm hai thiết bị iPhone SE iPhone 8+ chạy tảng iOS 11 Ứng dụng thực nghiệm 10 lần với 1000 vịng lặp lần lấy kết trung bình 4.2.2 Kết thực nghiệm Biểu đồ th ể thời gian xử lý ứng dụng giống tảng iOS sử dụng Objective-C, Xamarin Ionic 44 Hình 4.4: So sánh hiệu ứng dụng iOS phát triển ObjC, Xamarin Ionic Trong phạm vi thử nghiệm, ứng dụng tập trung vào việc xử lý chuỗi ký tự tính tốn toạ độ Qua biểu đồ thấy hiệu ứng dụng phát triển Xamarin tương đương v ới ứng dụng đư ợc phát triển cách truyền thông sử dụng native SDK Trong hiệu ứng dụng thử nghiệm phát triển Ionic tốt khoảng lần so với ứng dụng phát triển Xamarin native Objective-C Điều không chứng tỏ hiệu ứng dụng phát triển Ionic tốt so với ứng dụng phát triển Xamarin hay Objective-C thể khả Ionic việc tối ưu hiệu ứng dụng số trường hợp 4.3 Khuyến nghị Ionic Xamarin khung phát triển ứng dụng di động đa tảng tốt có lợi định Nếu Xamarin mạnh khả tương tác với thư viện native, hiệu khả tuỳ biến Ionic mạnh tính qn cần có khung phát triển đa tảng Việc lựa chọn khung phát triển phù hợp phù thuộc vào yêu cầu ứng dụng tảng cơng nghệ lập trình viên Nếu ứng dụng yêu cầu không phức tạp, không cần xử lý nhiều liệu, sử dụng dịch vụ phổ biến, cần có thời gian phát triển nhanh, chi phí hạn chế Ionic lựa chọn tốt Trong n ếu ứng dụng yêu cầu hiệu tốt, cần xử lý 45 nhiều tác vụ nặng, cần tuỳ biến nhiều tảng sử dụng tính đặc biệt tảng sử dụng nhiều thư viện native Xamarin lựa chọn tốt 46 CHƯƠNG 5: KẾT LUẬN Luận văn tốt nghiệp gi ới thiệu cách tổng quát cách tiếp cận đ ể phát triển ứng dụng di đ ộng Dựa vào xu phát triển khung phát triển di động đa tảng, luận văn lựa chọn giới thiệu, phân tích ưu nhược điểm so sánh hai khung phát triển Ionic Xamarin, đại diện cho hai trường phái phát triển ứng dụng đa tảng sử dụng công nghệ web công nghệ native Cụ thể, luận văn thực việc phân tích so sánh dựa tiêu chí cần thiết mà nhà phát triển quan tâm để phát triển ứng dụng di động giao diện, trải nghiệm người dùng, hiệu năng, đa luồng, hỗ trợ dịch vụ bên thứ ba kiểm thử tự động Qua phân tích cho thấy khả tương thích tốt với thư viện native, khả tuỳ biến tảng Xamarin, nhiên kèm v ới vi ệc tính đa n ền tảng không đảm bảo cao, dẫn đ ến việc kéo Xamarin gần trở thành khung phát triển ứng dụng native khung phát triển đa n ền tảng Trong Ionic m ặc dù có khả tương thích với tảng hơn, phụ thuộc nhiều vào trình cắm cần lập trình viên có kinh nghiệm lại có tính đa tảng cao hơn, tảng cơng nghệ phổ biến Để minh hoạ phân tích so sánh đưa trên, phạm vi luận văn xây dựng ứng dụng nhỏ dựa theo tiêu chí so sánh Luận văn đánh giá khả phát triển hai tảng Ionic Xamarin dựa vào cách tiếp cận số dòng mã nguồn cần sử dụng để triển khai tính tương tự dựa hai khung phát triển tảng Bên cạnh đó, lu ận văn xây dựng ứng dụng dựa vào việc xử lý chuỗi tính tốn liệu để so sánh hiệu ba cách tiếp cận việc phát triển ứng dụng di động Kết cho thấy số trường hợp hiệu Ionic Xamarin tốt, so sánh với ứng dụng xây dựng dựa tảng native Tổng kết lại, việc lựa chọn khung phát triển phù hợp phụ thuộc vào yêu cầu ứng dụng khả lập trình viên Ionic phù hợp với ứng dụng không phức tạp, tuỳ biến, khơng u cầu xử lý nhiều liệu, hiệu mức tương đối, sử dụng dịch vụ phổ biến lập trình viên có sẵn kinh nghiệm tảng cơng nghệ web, muốn tiết kiệm thời gian chi phí phát triển Xamarin phù hợp với ứng dụng lớn hơn, cần tuỳ biến nhiều, hiệu tốt, muốn tiết kiệm phần chi phí thời gian phát triển ứng dụng 47 TÀI LIỆU THAM KHẢO [1] Ionic team, Ionic docs, http://ionicframework.com/docs/ [2] Xamarin team, Xamarin docs, http://developer.xamarin.com/guides/crossplatfrom [3] Xamarin team, Architecture, https://developer.xamarin.com/guides/crossplatform/application_fundamentals/building_cross_platform_applications/part_2 architecture/ [4] Gartner, Market Share, “Mobile communination devices(2012)” [5] Charland A., Leroux B., “Mobile application development: web vs native,” in ACM 54, pp 49-53, 2011 [6] Goadrich M H., Rogers M.P, “Smart smartphone development: iOS versus Android”, in Proc SIGCSE 2011, pp 607-612, New York, 2011 [7] Anderson R.S., Gestwicki P., “Hello, worlds: an introduction to mobile application development for iOS and Android” J Comput Sci Coll 27, pp 32–33, 2011 [8] Newman B, “Are cross-platform mobile app frameworks right for your business?”, 2011, http://mashable.com/2011/03/21/cross-platform-mobileframeworks/ Behrens H., “Cross-Platform App Development for iPhone, Android & Co”, 2010, http://heikobehrens.net/2010/10/11/cross-platform-app-development-foriphone-android-co-—-a-comparison-i-presented-at-mobiletechcon-2010/ [9] [10] Cordova team, Cordova guide, https://cordova.apache.org/docs/en/latest/guide/overview/ [11] John Resig, “How javascript timer work”, https://johnresig.com/blog/howjavascript-timers-work/ [12] Tom Buyse, “End to end testing an Ionic application with appium and protractor”, http://tombuyse.com/end-to-end-testing-an-ionic-application-withappium-and-protractor/ [13] Appium Team, Appium docs, http://appium.io/slate/en/master/?ruby - aboutappium [14] Microsoft Team, Thread Pools, https://msdn.microsoft.com/enus/library/windows/desktop/ms686760(v=vs.85).aspx [15] Xamarin Team, Linking native libraries, https://developer.xamarin.com/guides/ios/advanced_topics/native_interop/ 48 [16] Xamarin Team, Custom Renderer, https://developer.xamarin.com/guides/xamarin-forms/applicationfundamentals/custom-renderer/introduction/ [17] Estaun.net blog, Some thoughts after (almost) a year of real Xamarin use, http://www.estaun.net/blog/some-thoughts-after-almost-a-year-of-real-xamarin-use/ [18] Xamarin Team, Limitations, https://developer.xamarin.com/guides/ios/advanced_topics/limitations/ [19] Xamarin Team, Limitations, https://developer.xamarin.com/guides/android/advanced_topics/limitations/ [20] Herman Schoenfeld, Xamarin iOS memory leaks everywhere, https://stackoverflow.com/questions/25532870/xamarin-ios-memory-leakseverywhere [21] Nexgendesign.com, Xamarin troubles, http://www.nexgendesign.com/xamarin-troubles [22] Siddharth, 15 important consideration for choosing a web dev framework, 2009, https://code.tutsplus.com/tutorials/15-important-considerations-for-choosinga-web-dev-framework net-8035 [23] Daniel Pfeiffer, Which cross-platform framework is right for me?, 2011, https://gowithfloat.com/2011/07/which-cross-platform-framework-is-right-for-me/ [24] Heitkăotter, H., Hanschke, S., Majchrzak, T.A.: Evaluating cross-platform development approaches for mobile applications In: Cordeiro, J., Krempels, K.-H (eds.) Web Information Systems and Technologies LNBIP, vol 140, pp 120–138 Springer, Heidelberg (2013) doi:10.1007/978-3-642-36608-6_8 49 ... dụng di động, đặc biệt cách phát triển ứng dụng di động đa tảng, luận văn giới thiệu cách tiếp cận việc phát triển ứng dụng di động Bên cạnh đó, luận văn đưa so sánh hai khung phát triển ứng dụng. .. QUAN VỀ PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG ĐA NỀN TẢNG 2.1 Các cách tiếp cận việc phát triển ứng dụng di động 2.1.1 Phát triển ứng dụng native 2.1.2 Phát triển ứng dụng web... tin cách phát triển ứng dụng di động tập trung vào hai khung phát triển ứng dụng Ionic Xamarin Đầu tiên giới thiệu ba cách phát triển ứng dụng di động sử dụng Sau đó, luận văn giới thiệu khung phát

Ngày đăng: 11/11/2020, 22:25

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w