Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
6,26 MB
Nội dung
TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA: CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP TỐT NGHIỆP Chủ đề: Nghiên cứu phát triển ứng dụng đa tảng di động dựa C# NET sử dụng Xamarin Framework Đơn vị thực tập :Công ty CP HD GVHD: ThS.Trần Đức Thịnh ThS Bùi Hải Phong Sinh viên thực hiện: Đặng Thị Yến Lớp :17CN ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP MỤC LỤC MỤC LỤC .2 M ởđầầu Nội dung Gi ới thi ệu vềầ công ty CP HD .6 Nghiền cứu phát tri ển ứng d ụng di đ ộng đa nềần tảng dựa trền C# NET sử dụng Xamarin Framework 2.1 T quan vềầ Xamarin .6 2.1.1.Lịch sử phát triển 2.1.2 Đặc điểm bật Xamarin 2.1.3 Kiềến trúc Xamarin 10 2.1.4 Cách hoạt động Xamarin 11 2.1.5 Ưu điểm khuyềết điểm c Xamarin 14 2.2 Môi trường phát triển 17 2.2.1 Cài đặt Xamarin.Android trền Windows: 17 2.2.2 Cài đặt Xamarin.Android trền Mac: 18 2.2.3 Cài đặt Xamarin.iOS trền Windows .24 2.2.4 Cài đặt Xamarin.iOS trền Mac: .32 Xầy d ựng th ực thi ứng d ựng đầầu tền với Xamarin 33 2.3.1 Tạo ứng d ụng Android (Android app) 33 2.3.2 Tạo ứng d ụng iOS (iOS app) 34 2.4 Tìm hi u ể vềầ mơ hình lập trình MVVM( (Model-View-ViewModel) 34 2.4.1 Lịch sử phát triển 35 2.4.2 Mơ hình MVVM gì? 35 2.4.3 MVVM hiểu thềế ? 36 ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP 2.3 2.4.3.1 2.4.3.2 Model: .36 2.4.3.3 2.4.4 View: 36 ViewModel: .36 Cầếu trúc thư mục MVVM 36 2.4.4.1 Views 37 2.4.4.2 Models 37 2.4.4.3 ViewModels 37 2.4.4.4 Data Binding 38 2.4.4.5 Data Template 38 2.4.4.6 Command 38 2.4.5 Ưu nhược điểm MVVM: Model – View – ViewModel 38 Tìm hi ểu vềầ cách thứ c hoạ t độ ng củ a Restul API 39 2.5 2.5.1 Khái niệ m Rest API gì? Restul API gì? 39 2.5.1.1 Rest API gì? .39 2.5.1.2 Restul API gì? 40 2.5.1.3 API .40 2.5.1.4 REST .41 2.5.2 Cầếu trúc thiềết kềế c Rest API gì? 41 2.5.3 Cách thức hoạt động Rest API ? 42 2.5.4 Ư u điể m nổ i bậ t củ a Restul API ? .43 2.5.5 Tìm hi ểu thềm vềầ Web API 44 Triển khai Project dựa trền C# NET sử dụng Xamarin Framework 45 3 ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP Mở đầu 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 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 đề ln 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 khác 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ó điểm chung: ứng dụng cần 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 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 ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP phẩm đến với khách hàng Trong hai tảng trọng nhiều 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 Qua thời gian tìm hiểu thực tế để xác định đề tài thực tập, để giúp người ( đặc biệt lập trình viên ) có nhìn rõ ràng cách phát triển phần mềm ứng dụng di động, đặc biệt cách phát triển phần mềm ứng dụng di động đa tảng dựa C# NET, giới thiệu cách tiếp cận việc phát triển ứng dụng di động dựa C# NET sử dụng Xamarin Framework Phát triển phần mềm ứng dụng di động đa tảng vấn đề quan trọng thành phần khơng khơng thể thiếu để cơng ty hoạt động phát triển Báo cáo thực tập có nội dung gồm mục sau: Tổng quan công ty CP HD Nghiên cứu phát triển ứng dụng di động đa tảng dựa C# NET sử dụng Xamarin Framework Triển khai Project dựa C# NET sử dụng Xamarin Framework Để hoàn thành báo cáo thực tập trước hết em xin cảm ơn quý thầy, cô giáo khoa Công Nghệ Thông Tin Trường Đại Học Kiến Trúc Hà Nội lời cảm ơn chân thành Đặc biệt em xin gửi lời cảm ơn đến thầy: Trần Đức Thịnh thầy: Bùi Hải Phong, người tận tình hướng dẫn, giúp đỡ em hoàn thành chuyên đề báo cáo thực tập lời cảm ơn sâu sắc Em xin chân thành cảm ơn Ban Lãnh Đạo, phịng ban cơng ty CP HD , tạo điều Vì kiến thức thân cịn hạn chế, q trình thực tập em khơng tránh khỏi sai sót, kính mong nhận góp ý từ q thầy quý công ty ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP kiện thuận lợi cho em tìm hiểu thực tiễn suốt trình thực tập công ty Trân trọng cảm ơn! Nội dung Giới thiệu công ty CP HD Công ty CP HD Việt Nam có địa Quận Đống Đa, TP Hà Nội thông tin truyền thông cấp giấy phép thiết lập mạng xã hội ngày 26/01/2021 ngành nghề kinh doanh xuất phần mềm ngồi cịn có số ngành nghề hoạt động dịch vụ công nghệ thông tin truyền thông Nghiên cứu phát triển ứng dụng di động đa tảng dựa C# NET sử dụng Xamarin Framework 2.1 Tổng quan Xamarin 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 đoàn Microsoft mua lại vào 24/2/2016 Điều đánh dấu cột mốc vòng đời khung phát triển Microsoft tuyên bố mở mã nguồn Xamarin SDK, cung cấp thành phần công cụ Microsoft Visual Studio Các người dùng sử dụng công cụ Visual Studio dành cho doanh nghiệp sử dụng tính dành cho doanh nghiệp Xamarin miễn phí Bên cạnh đó, Microsoft phát hành toàn dự án Mono giấy phép MIT phát hành toàn phần mềm Xamarin SDK khác thông qua NET Foundation giấy phép MIT 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 khác Xamarin xem khung phát triển ứng dụng gốc (native framework) Trong việc phát triển ứng dụng di động, “nativeness" định nghĩa hệ sinh ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP 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 thái mà nhà cung cấp (Apple Google) chọn để phát triển ứng dụng hệ điều hành họ Một ví dụ hệ điều hành Android Android kết hợp Linux Java SDK, Java sử dụng JNI để gọi API C/C++ cách Xamarin làm việc hoàn toàn tương tự Xamarin sử dụng giao diện để tương tác với API C/C++ gọi PInvoke (Platform Invoke), công nghệ NET(CLR, CLI) cho phép gọi API gốc C# Một điều đặc biệt Xamarin có hỗ trợ phần mở rộng có tên Microsoft's Razor Extension, cho phép nhà phát triển xây dựng ứng dụng hybrid tận dụng sức mạnh tảng C# Xamarin Xamarin cung cấp hai sản phẩm Xamarin.iOS Xamarin.Android Cả hai xây dựng dựa tảng Mono Đối với tảng iOS, trình biên dịch AOT biên dịch ứng dụng iOS trực tiếp thành mã máy ARM Đối với tảng Android, trình biên dịch Xamarin biên dịch mã nguồn ứng dụng thành IL, sau trình biên dịch JIT Android chịu trách nhiệm biên dịch đoạn mã IL thành mã máy ứng dụng chạy Trong hai trường hợp, ứng dụng Xamarin tối ưu thời gian chạy cách tự động xử lý vấn đề liên quan đến quản lý nhớ, thu dọn rác (garbage collection), tác vụ bên tảng (platform interops), 2.1.1.Lịch sử phát triển Xamarin thành lập từ tháng 5/2011 từ dự án Mono Open source – Platform cho phép chạy Net tất tảng :Linux, Android, iOS,…do Miguel de Icaza Nat Friedman sáng lập với cộng đồng khoảng 1,3 triệu lập trình viên, độc quyền sử dụng công cụ hãng, tạo nên ứng dụng di động C#, cho phép chạy cross-platform (xuyên tảng) dành cho iOS, Android Windows ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP Hình 1: Minh họa trình hình thành phát triển Xamarin Tháng 03/2016, Miguel de Icaza- nhà đồng sáng lập Xamarin xác nhận Xamarin thức sáp nhập với Microsoft 2.1.2 Đặc điểm bật Xamarin - Liên kết với SDK tảng Xamarin cung cấp khả tương tác với hầu hết SDK tảng iOS Android Bên cạnh đó, liên kết (bindings) liên kết mạnh, điều có nghĩa API dễ điều hướng sử dụng Đảm bảo tối ưu thời gian biên dịch kiểm tra kiểu thời gian phát triển Điều giúp làm giảm thiểu lỗi thời gian chạy nâng cao chất lượng ứng dụng - Tương tác với Objective-C, Java, C/C++ Xamarin cho phép tương tác với thư viện Objective-C, Java, C C++ trực tiếp Điều giúp cho nhà phát triển tận dụng sức mạnh thư viện bên thứ ba có sẵn tảng iOS Android viết Objective-C, Java hay C/C++ Bên cạnh, Xamarin cung cấp dự án liên kết cho phép nhà phát triển dễ dàng liên - Sử dụng ngôn ngữ đại ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP kết thư việc Objective-C Java sử dụng cú pháp khai báo C# xem điểm bật Xamarin mà C# có nhiều điểm cải tiến đáng ý so với ngôn ngữ cũ Objective-C hay Java Dynamic Language Features, Functional Constructs Lambdas, LINQ, Parallel Programming, Generics, … - Các lớp thư viện Các ứng dụng Xamarin sử dụng số lượng lớn thư viện NET xây dựng sẵn cung cấp tính mạnh mẽ XML, Database, Serialization, IO, String Networking, … Bên cạnh đó, đoạn mã C# biên dịch để dùng ứng dụng, cung cấp khả truy cập hàng ngàn thư viện mà chưa triển khai lớp thư viện - IDE đại Một IDE tốt giúp đỡ nhiều cho nhà phát triển việc phát triển ứng dụng Và Xamarin Studio Mac OS X hay Visual Studio Windows IDE tốt Nó cấp nhiều tính cho nhà phát triển tự động hồn thiện code, kiểm sốt phiên (version control), quản lý dự án, mẫu ứng dụng, … - Hỗ trợ đa tảng di động Xamarin hỗ trợ ba tảng di động phổ biến iOS, Android Windows Phone Các ứng dụng viết Xamarin chia sẻ tới 90% mã nguồn, thư viện Xamarin.Mobile cung cấp API thống để sử dụng tài nguyên tất ba tảng Điều giúp tiết kiệm thời gian công sức để đưa ứng dụng thị trường hướng tới tảng ứng dụng di động phổ biến Xamarin cơng cụ đưa ngôn ngữ – C#, Class Library runtime chạy tảng di động iOS, Android Windows Phone (Windows Phone sử dụng C#) mà đảm bảo đủ hiệu suất chí địi hỏi game ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP 2.1.3 Kiến trúc Xamarin Hình 2:Mơ hình kiến trúc Xamarin Một ứng dụng xây dựng tảng Xamarin tiêu biểu chia thành sáu tầng: - Tầng liệu: đảm bảo tính thống khơng xung đột liệu, hệ điều hành di động lớp thường sở liệu SQLite - Tầng truy xuất liệu: cung cấp giao diện cho phép ứng dụng thực câu lệnh truy vấn vào sở liệu mà không làm lộ chi tiết cách phương thức hoạt động cụ thể - Tầng nghiệp vụ (business) : nơi chưa logic ứng dụng đối tượng ứng dụng - Tầng truy xuất dịch vụ: sử dụng để truy xuất đến dịch vụ đám mây ví dụ dịch vụ web REST, JSON, WCF, … Lớp đóng gói hành vi diện sử dụng - Tầng ứng dụng: mã nguồn tầng thường đoạn mã cho tảng cụ thể đoạn mã cho ứng dụng cụ thể ĐẶNG THỊ YẾN – BÁO CÁO THỰC TẬP TỐT NGHIỆP 10 tương tác với dịch vụ cung cấp API đơn giản tầng ứng dụng giao