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

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

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

Thông tin tài liệu

TĨM TẮT LUẬN VĂN TỐT NGHIỆP Đề tài: Tìm hiểu đánh giá framework phát triển ứng dụng di động đa tảng Hiện theo thống kê giới có khoảng 2.3 tỉ điện thoại thơng minh với hai hệ điều hành phổ biến iOS Android (hoặc hệ điều hành tuỳ biến từ hệ điều hành Android) Doanh thu từ ứng dụng hai hệ điều hành iOS Android xấp xỉ 61 tỉ USD Vì vậy, hệ sinh thái di động trở thành thị trường màu mỡ mà không công ty hay nhà phát triển muốn bỏ qua Các doanh nghiệp hay lập trình viên muốn đưa sản phẩm đến nhiều người dùng tốt, đảm bảo chất lượng sản phẩm mà khơng tốn q nhiều chi phí việc phát triển Khi lập trình viên có hứng thú với tảng di động, muốn tạo nên ứng dụng tuyệt vời thiết bị di động, chắn có người phân vân việc lựa chọn tảng công nghệ mà họ nên lựa chọn để đáp ứng nhu cầu thân Vì lý đó, khố luận đưa nhìn tổng quan chi tiết công nghệ phát triển ứng dụng tảng di động Bên cạnh đó, khố luận đưa so sánh cách tiếp cận phát triển ứng dụng di động khác dựa tiêu chí để nhà phát triển lựa chọn phương án phù hợp Mục tiêu khố luận so sánh phương pháp phát triển ứng dụng di động dựa tiêu chí đánh giá cần thiết để đưa ứng dụng di động thành cơng cộng đồng : Luận văn cung cấp thông 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 cách phát triển ứng dụng di động sử dụng Sau đó, khóa luận giới thiệu khung phát triển Ionic Xamarin tính năng, kiến trúc, đặc điểm bật ưu điểm nhược điểm chúng Tiếp theo nghiên cứu đưa bảng so sánh khả khung phát triển so sánh với việc phát triển ứng dụng native Sau sâu vào tiêu chí mà nhà phát triển nên quan tâm để lựa chọn khung phát triển phù hợp Cuối dựa vào tiêu chí so sánh, luận văn đưa số khuyến nghị đến nhà phát triển việc lựa chọn khung phát triển phù hợp với nhu cầu Hiện có nhiều khung phát triển ứng dụng đa tảng Cordova, PhoneGap, Ionic, Xamarin, C++ Builder,… Nhưng tựu chung lại có hai trường phái việc xây dựng khung phát triển ứng dụng đa tảng web native Trong Ionic Xamarin hai tảng phổ biến Ionic sử dụng công nghệ web Xamarin sử dụng công nghệ native Ionic khung phát triển ứng dụng di động mã nguồn mở đời vào năm 2013, phát triển công ty Drifty Được lấy cảm hứng từ thành công tảng web desktop, nhà phát triển mong muốn Ionic đạt thành công tương tự tảng di dộng Được xây dựng dựa tảng AngularJS Apache Cordova (mặc định), Ionic cung cấp công cụ để phát triển ứng dụng hybrid hệ điều hành di động sử dụng công nghệ Web CSS, HTML5, SASS Javascript Ứng dụng xây dựng dựa vào công nghệ web phân phối thông qua chợ ứng dụng mặc định thiết bị nhờ trợ giúp trình đóng gói địa (Native wrapper) Ionic xem khung phát triển giao diện cho front-end Nó chịu trách nhiệm giao diện cách người dùng tương tác với ứng dụng Bên cạnh đó, Ionic hỗ trợ nhiều thành phần native tảng di động, cung cấp sẵn số animation có sẵn Có điểm khác biết Ionic với framework khác thành phần giao diện Ionic ngồi cách hoạt động giống với thành phần giao diện tương tự hệ điều hành di động tất nhiên điều diễn hoàn toàn tự động, nhà phát triển không cần phải chỉnh sửa thứ Thêm nữa, Ionic có số đặc điểm bật mã nguồn mở, hiệu suất tương đối tốt, sử dụng AngularJS Cordova để hỗ trợ việc phát triển ứng dụng, sử dụng kiến trúc plugin để hỗ trợ lập trình viên tích hợp tính vào ứng dụng Tuy nhiên, Ionic có số nhược điểm ứng dụng yêu cầu cao hiệu suất Ionic chưa đáp ứng được, phụ thuộc nhiều vào plugin, khơng có cam kết chất lượng đơn vị chủ quản người sử dụng, việc tuỳ biến tương đối khó khăn yêu cầu cao mặt kỹ Bộ khung phát triển ứng dụng đa tảng Xamarin, tiền thân dự án mã nguồn mở Mono, giới thiệu vào ngày 16/5/2011 Xamarin ban đầu thuộc cơng ty Xamarin, nhiên tập đồn Microsoft mua lại vào 24/2/2016 chuyển đổi thành phần mềm mã nguồn mở sau Xamarin khung phát triển ứng dụng cho phép nhà phát triển xây dựng ứng dụng tảng Android, iOS Windows sử dụng ngơn ngữ lập trình C# Xamarin cung cấp lớp thư viện, runtime thực thi ba tảng iOS, Android Windows Phone, biên dịch native (không sử dụng trình thơng dịch) đảm bảo hiệu suất ứng dụng kể ứng dụng yêu cầu khả xử lý nặng ứng dụng trò chơi Mặc dù khơng sử dụng ngơn ngữ lập trình tương ứng hệ điều hành khác Xamarin xem khung phát triển ứng dụng gốc (native framework) Xamarin có số đặc điểm bật đáng ý việc liên kết tốt với thư viện native, tương tác với ngơn ngữ lập trình native tảng, hiệu suất ứng dụng tương đương với ứng dụng native, tận dụng số lượng lớn thư viện NET có sẵn Tuy nhiên Xamarin có số nhược điểm tồn số lỗi, hạn chế kỹ thuật kiến trúc Xamarin, phình to ứng dụng tích hợp thư viện so với ứng dụng thông thường Để lựa chọn công cụ để phát triển ứng dụng di đông, lập trình viên cần quan tâm đến số điểm quan trọng thành phần giao diện, trải nghiệm người dùng, việc thiết kê layout để tương thích với nhiều thiết bị với nhiều độ phân giải kích cỡ, cộng đồng sử dụng, hỗ trợ dịch vụ bên thứ ba, hỗ trợ đa luồng, kiểm thử - Về giao diện trải nghiệm người dùng, Ionic Xamarin cung cấp số lượng thành phần giao diện có sẵn có khả tự động thay đổi hình thái tương ứng với tảng cụ thể Tuy nhiên, Xamarin hỗ trợ tốt việc tuỳ biến hành vi vẻ thành phần có sẵn Ionic nhờ việc cung cấp sẵn tài liệu hướng dẫn người sử dụng Đối với animation, Ionic Xamarin hỗ trợ số animation có sẵn, cho phép nhóm animation vào thành chuỗi animation Ionic bắt buộc phải sử dụng animation sử dụng GPU để đảm bảo hiệu suất ứng dụng - Về layout, hai khung phát triển cung cấp giải pháp cho phép lập trình viên thiết kế giao diện cách linh động để hiển thị tốt nhiều thiết bị khác Tuy nhiên, việc thiết kế cách kéo thả Ionic hạn chế lập trình viên sử dụng phiên miễn phí trình thiết kế giao diện kéo thả kèm, Xamarin hỗ trợ tốt với IDE mặc định - Về cộng đồng phát triển, Xamarin vượt trội Ionic kết so sánh cho thấy có 40000 kết gắn với tag ‘Xamarin’ so với 20000 kết gắn tag ‘Ionic’ trang hỏi đáp tiếng giới lập trình viên StackOverFlow - Hiện lập trình viên thường tích hợp nhiều dịch vụ bên thứ ba cung cấp dịch vụ quảng cáo, dịch vụ phân tích hay - - báo lỗi để hỗ trợ việc phát triển Ionic Xamarin hỗ trợ số dịch vụ Fabric, Admob, Facebook Audience Network, Mopub, Appmodeal Trong đó, việc triển khai dịch vụ hỗ trợ sẵn Ionic tương đối đơn giản so với Xamarin nhà phát triển viết riêng đoạn mã xử lý cho tảng Tuy nhiên, lập trình viên muốn tích hợp dịch vụ chưa hỗ trợ sẵn Xamarin có lợi nhờ việc tương tác tốt với thư viện native Ionic trừ lập trình viên có kiến thức tốt web native tảng lập trình viên bình thường bị phụ thuộc vào số lập trình viên có kinh nghiệm xây dựng nên plug in để tích hợp dịch vụ Đối với số ứng dụng đặc biệt trò chơi, nhà phát triển thường tìm đến game engine để phát triển cocos, SpriteKit, Unity, Unreal engine Tuy nhiên framework phát triển ứng dụng Ionic Xamarin phát triển ứng dụng mức độ vừa phải nhờ việc kết hợp với engine khác Phaser.io kết hợp với Ionic, Cocos Sharp kết hơp với Xamarin Số lượng người dùng ứng dụng di động lên đến hàng tỉ người Vì vậy, ứng dụng di động phải xử lý nhiền liệu để cung cấp thông tin cho người dùng Điều u cầu khả tính tốn lớn thiết bị di động khơng đủ đáp ứng Các nhà phát triển ứng dụng di động phải tìm cách để đảm bảo việc xử lý liệu khơng ảnh hưởng - đến trải nghiệm liên tục người dùng Một cách xử lý vấn đề chia tác vụ lớn thành nhiều tác vụ nhỏ chạy nhiều luồng khác Vì vậy, việc hỗ trợ đa luồng quan trọng việc tìm kiếm khung phát triển phù hợp cho việc phát triển ứng dụng di động Cả Xamarin Ionic hỗ trợ đa luồng, nhiên Ionic có số điểm yếu việc hỗ trợ đa luồng chất ngôn ngữ Javascript ngôn ngữ đơn luồng Ionic sử dụng WebWorker để thực thi tác vụ luồng phụ, có số hạn chế ví dụ truy cập đến thành phần DOM từ trang web (vì khơng thread safe), khơng thể truy xuất biến toàn cục hàm Javascript từ trang web, gọi hàm alert hay confirm, đối tượng window, document parent truy cập web worker Trong đó, Xamarin hỗ trợ tốt đa luồng nhờ khả sử dụng API Net sử dụng API native việc tạo, quản lý luồng Hiện nay, lập trình viên tham gia nhiều vào trình kiểm thử ứng dụng, khơng phụ thuộc vào đội ngũ đảm bảo chất lượng Họ sử dụng TDD, Unit Test, công cụ kiểm thử tự động để thực thi ca kiểm thử, đảm bảo ứng dụng hoạt động theo mong muốn họ Cả Xamarin Ionic có thư viện hỗ trợ việc thực thi kiểm thử tự động Karma Jasmine hỗ trợ kiểm thử đơn vị, Protractor hỗ trợ kiểm thử chấp nhận Ionic; Nunit, MonoTouch.NunitLite hỗ trợ kiểm thử đơn vị Xamarin, Xamarin.UITest hỗ trợ kiểm thử giao diện Xamarin Một lần Ionic lại tiếp tục thể tính đa tảng nhiều Xamarin tiêu chí lập trình viên khơng phải viết lại ca kiểm thử tảng Xamarin Tổng kết lại, 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 quán 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 ứng dụng yêu cầu hiệu tốt, cần xử lý nhiều tác vụ nặng, cần tuỳ biến nhiều tảng sử dụng nhiều thư viện native Xamarin lựa chọn tốt ... 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 cách phát triển ứng dụng di động sử dụng Sau đó, khóa luận giới thiệu khung phát. .. Hiện có nhiều khung phát triển ứng dụng đa tảng Cordova, PhoneGap, Ionic, Xamarin, C++ Builder,… Nhưng tựu chung lại có hai trường phái việc xây dựng khung phát triển ứng dụng đa tảng web native... hai tảng phổ biến Ionic sử dụng công nghệ web Xamarin sử dụng công nghệ native Ionic khung phát triển ứng dụng di động mã nguồn mở đời vào năm 2013, phát triển công ty Drifty Được lấy cảm hứng

Ngày đăng: 16/01/2018, 16:39

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan