1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu đánh giá các framework phát triển ứng dụng di động đa nền tảng

93 92 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

Nội dung

ĐẠ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 CÁN BỘ HƯỚNG DẪN XÁC NHẬN CỦA CHỦ TỊCH HỘI ĐỒNG 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 trình bày cá nhân 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 lời thật Nếu sai tơi xin hồ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 quý báu chuyên môn phương pháp nghiên cứu khoa học để tơi thự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 q 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 tơi kiến thức hữu ích, bổ trợ cho q trình phát triển sau tơi Cuối tơi xin gửi lời cảm ơn tới gia đình tơi ủng hộ đường học tập nghiên cứu với nhiều khó khăn, vất vả Mặc dù tơi 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 cô Hà Nội, ngày tháng Học viên năm 2017 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 10 2.2 Ionic framework 10 2.2.1 Giới thiệu 10 2.2.2 Kiến trúc 12 2.2.3 Điểm bật 16 2.2.4 Ưu điểm nhược điểm 18 2.3 Xamarin framework 20 2.3.1 Điểm bật 21 2.3.2 Kiến trúc [3] 22 2.3.3 Ưu điểm nhược điểm 24 CHƯƠNG 3: SO SÁNH VÀ ĐÁNH GIÁ 28 3.1 So sánh 28 3.2 Đánh giá 30 CHƯƠNG 4: ỨNG DỤNG THỬ NGHIỆM 39 4.1 39 Ứng dụng so sánh khả phát triển hai tảng 4.1.1 Nội dung ứng dụng 39 4.1.2 Kết thực nghiệm 42 4.2 Ứng dụng so sánh hiệu 44 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 DANH MỤC CHỮ VIẾT TẮT Chữ viết tắt Diễn giải IDE Intergrated Development Environtment MVC Model View Controller API Application Programming Interface SDK Sofware Development Kit HTML Hyper Text Mark-up Language DOM Document Object Model JNI Java Native Interface CLR Common Language Runtime CLI Common Language Infrastructure AOT Ahead Of Time JIT Just In Time IL Intermediate Language REST Representation State Transfer JSON Javascript Object Notation WCF Windows Communication Foundation MSIL Microsof Intermediate Language GPU Graphics Processing Unit CPU Central Processing Unit 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 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 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 tảng Trong Ionic 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 q 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 58 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 59 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/cross-platfrom [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-mobile-frameworks/ [9] Behrens H., “Cross-Platform App Development for iPhone, Android & Co”, 2010, http://heikobehrens.net/2010/10/11/cross-platform-app-development-for-iphoneandroid-co-—-a-comparison-i-presented-at-mobiletechcon-2010/ [10] Cordova team, Cordova https://cordova.apache.org/docs/en/latest/guide/overvie w/ guide, [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-with-appium-andprotractor/ [13] Appium Team, Appium docs, http://appium.io/slate/en/master/?ruby about- appium [14] Microsof Team, Thread Pools, https://msdn.microsof.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/ 60 [16] Xamarin Team, Custom Renderer, https://developer.xamarin.com/guides/xamarin- forms/applicationfundamentals/custom-renderer/introduction/ [17] Estaun.net blog, Some thoughts afer (almost) a year of real Xamarin use, http://www.estaun.net/blog/some-thoughts-afer-almost-a-year-of-real-xamarinuse/ [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-choosing-aweb- dev-framework net-8035 [23] Daniel Pfeifer, 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 61 DAI HQC QUOC GIA I-IA NQI TRU'ONG D� HQC CONG NGII];: S6: /-''Pb CQNG HOA XA IIQI CHU NGlliA Vli;:T NAM D{ic )(1p - Tl! - 11:.mh phllc /QD-DT HQ N(Ji, ng0y!2 _; 1/uing,.tA niim 2017 QUYETDJNH V� vi?c th:inh JJp Hl}i d6ng ch:1m lu�n ,·an thac si H!EU TRUONG TRUONG D� HQC CONG NGHJ;: Can cc Quy dinh v� T6 clurc va hoat dQng cua cac don vj vien va don vi true thu - l: >) ···ta7 · - :::£��:::��:::�\: : 1; : : ; , : ; :;::!{::t.: : :�:;&;· : : :x;.;: : ::��:::rx.�· : 3) �= � .-� v:Z :.' c.-.::1,, clz '.:&.� cl;: 7.Kf N� t;J�: ,,, - _,, r1 ,,_ -£ » I »" ro �;?>°· •• -�j�r- · i : " �d, �;�•• , 7�?· :r.'r:c;)·;.,· ·�·2-.v.i ·; :_:;,· · · · : : :: · · · �! ••• ·;f v.f • •.• \] •••u�:�r: t":" /.�••• i-(� • • N�I HQC CONG NGHt CQNG HOA XA H(>I CHU NGHiA VItT NAM l>{lc I�p -Tl! - Hanh phuc Ha N(ii, 08 thang 12 nam 2017 BAN xAc NH�N SUA CHUA cAc THIEU SOT CUA LU�N VAN Truong Dai hoc Cong nghe da co quyet djnh s6 1156/QD-DT 23 thang 11 nam 2017 v� viec l�p H(ii d6ng chfim luan van Thac si' cho hoc vien H6 Danh Chu fin, sinh I 0/05/1991 tai Nghe An, chuyen nganh Ky thuat phan mern, nganh Cong nghe thong tin Ngay 02 thang 12 narn 2017, Truong Dai hoc cong nghe (DHCN) da t6 chirc cho hoc vien bao v� luan van Thac sf truce Hoi d6ng chfim (c6 bien ban kem theo) Theo quyet nghj cua Hoi d6ng chfim lu�n van Thac si, hoc vien phai b6 sung va sira chira cac di�m sau day truce nop quyen luan van cu6i cung cho nha tnrong d€ hoan thien h6 so sau bao v�: I Sira lai 16i ngii' phap va trinh bay (trang 6, 7) B6 sung giai thich v� hinh minh hoa 2.2 Neu ro each lua ch911 cac tieu chi danh gia: b6 sung n(ii dung tham khao hra chon cac tieu chi danh gia dua vao mot s6 bai bao khoa hoc Ngay 11 thang 12 narn 2017, hoc vien da ncp ban luan van co chinh sira Chung toi nhan thfiy rang n(ii dung, hinh thirc cua luan van vii t6m t�t luan van da diroc sira chira, b6 sung theo cac di€m tren cua Quyet ngh] £)� nghi tnrong Dai hoc Cong nghe, DHQG HN cho phep hoc vien diroc lam cac thu tuc khac d€ duce cong nhan va Xin tran cam an! dp bang Thac si, xAc NH�N CUA HQI l>ONG l>E NGHJ HQC VIEN SUA CHUA LU�N VAN ;;;- �� ,, � /Ji�� I rJJ - AG "='"'> I , JC _¥ I XACNH�NCUATRuONG l>�I HQC CONG NGHt TL HitU TRUONG TRUONG PHONG l>AO T�O Nguy@n Phuong Thai ... 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... 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. .. thể hai tảng Ionic Xamarin, đại di n cho hướng phát triển tương ứng Hybrid Native 2.1 Các cách tiếp cận việc phát triển ứng dụng di động Tương ứng với ba cách phát triển ứng dụng di động phổ

Ngày đăng: 22/04/2019, 11:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w