Xu hướng và giải pháp phát triển ứng dụng di động đa nền tảng cho doanh...

41
Phạm Minh Chiến Outsourcing Center XU HƯỚNG VÀ GIẢI PHÁP PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG ĐA NỀN TẢNG CHO DOANH NGHIỆP SỬ DỤNG XAMARIN

Transcript of Xu hướng và giải pháp phát triển ứng dụng di động đa nền tảng cho doanh...

Phạm Minh Chiến Outsourcing Center

XU HƯỚNG VÀ GIẢI PHÁP

PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG

ĐA NỀN TẢNG CHO DOANH NGHIỆP

SỬ DỤNG XAMARIN

HIỆN TRẠNG LẬP TRÌNH DI ĐỘNG GIỚI THIỆU XAMARIN

XAMARIN CHO DOANH NGHIỆP HỎI ĐÁP QUAY SỐ MAY MẮN DEMO

TIỀM NĂNG KỶ NGUYÊN DI ĐỘNG

NỘI DUNG

TÌM NĂNG KỶ NGUYÊN DI ĐỘNG

TIỀM NĂNG KỶ NGUYÊN DI ĐỘNG

1.639 tỷ

23%

2.1 tỷ

Device Type 2013 2014 2015

Tablets 206,807,000 256,308,000 320,964,000

Mobile Phones 1,806,964,000 1,862,766,000 1,946,456,000

Total 2,013,771,000 2,119,074,000 2,267,420,000

Operating System 2013 2014 2015

Android 898,944,000 1,168,282,000 1,370,893,000

Windows 326,060,000 333,419,000 373,694,000

iOS 236,200,000 271,115,000 301,349,000

Others 873,195,000 660,112,000 545,817,000

Total 2,334,400,000 2,432,927,000 2,591,753,000

Period Android iOS Windows Phone BlackBerry OS Others

Q1 2015 78.00% 18.30% 2.70% 0.30% 0.70%

Q1 2014 81.20% 15.20% 2.50% 0.50% 0.70%

Q1 2013 75.50% 16.90% 3.20% 2.90% 1.50%

Q1 2012 59.20% 22.90% 2.00% 6.30% 9.50%

- Mobile thâm nhập vào giải pháp cho doanh nghiệp

- Điện toán đám mây bùng nổ và phát triển

- Nhân viên tận dụng thiết bị di động như một công

cụ làm việc

Người dùng

Thiết bị di động Doanh nghiệp

HIỆN TRẠNG LẬP TRÌNH DI ĐỘNG

• Nhiều đội ngũ phát triển

• Nhiều ngôn ngữ lập trình

• Nhiều công cụ lập trình khác nhau

Ứng dụng được phát triển:

• Tạo ra các ứng dụng với giao điện người dùng riêng trên mỗi nền tảng

• Tận dụng các API đặc thù trên từng nền tảng

• Tối ưu hiệu suất hoạt động

• Dễ sử dụng

Ưu điểm:

• Tốn kém chi phi

• Thời gian phát triển chậm

• Tiếp cận từng nền tảng gặp khó khăn

• Giao tiếp, truyền đạt nghiệp vụ dễ sai sót

Nhược điểm:

Lập trình đa nền tảng (Hybrib + Web mobile): HTML5 + CSS + Javascript

• Viết một lần chạy cho tất cả các nền tảng

• Chỉ cần một đội ngũ phát triển duy nhất

• Chi phí phát triển thấp

• Rút ngắn thời gian phát triển

• Tận dụng được nguồn lực lập trình web

Ưu điểm:

• Giao diện giống nhau giữa các nền tảng

• Phụ thuộc vào trình duyệt web của HĐH

• Tốc độ và hiệu xuất chậm hơn

• Một số API bị giới hạn

Nhược điểm:

vs

Native App

Hybrib App

GIỚI THIỆU XAMARIN

• Native user interface

• Native API

• Native performance

• Sử dụng C# và .NET Framework

• Chia sẻ mã nguồn logic giữa các nền tảng

Xamarin: Công cụ lập trình đa nền tảng cho phép

• Sử dụng bộ control chuẩn của từng nền tảng

• Tạo giao diện chuẩn quen thuộc cho người dùng của từng hệ điều hành

• Xử lý và phản hồi các thao tác người dùng như ứng dụng nguyên bản

Native user interface

• Xử dụng các API đặc thù trên từng nền tảng: NFC, Bluetooth, Media

• Tất cả những gì có thể làm trong Objective-C hay Java đều có thể được thực

hiện bằng C#

Native API

• Sử dụng trình biên dịch của mỗi nền tảng để tạo ra tập tin cài đặt

Sử dụng bộ biên dịch Ahead Of Time (AOT) cho iOS

Sử dụng bộ biên dịch Just In Time (JIT) cho Android

Native performance

• Chia sẻ mã nguồn logic

• Tận dụng thế mạnh của C#

• Lập trình dễ dàng và nhanh chóng với hệ

sinh thái của .NET

Xamarin + C# + .NET:

(Windows – Mac)

Xamarin Studio (Windows)

Visual Studio Plugin

Xamarin Designer

Xamarin Component Store

- Cung cấp component được

xây dựng sẵn, UI controls

cho từng nền tảng

- Các component cho việc

tích hợp các dịch vụ đám

mây: Azure, SAP, Parse,

Salesforce……

- Sử dụng PCL tạo một assembly nhưng dùng chung cho nhiều nền tảng

- Tận dụng lại khoảng 75% mã nguồn giữa các nền tảng

Việc chia sẻ mã nguồn giữa các nền tảng giúp rút ngắn thời gian phát triển ứng dụng

• Xây dựng Native User Interface trên cùng một mã nguồn (gần như 100%)

• Xây dựng sẵn hơn 40 native controls

• Sử dụng C# và XAML để thiết kế giao diện người dùng

• Áp dụng MVVM và data bindings trong thiết kế và phát triển

Xamarin.Form

Win APP

XAMARIN CHO DOANH NGHIỆP

• Các ứng dụng quản lý, truy xuất dữ liệu

• Tạo prototype và proofs-of-concept

• Những ứng dụng ít yêu cầu về các tính

năng đặc trưng của từng nền tảng

• Ưu tiên việc tái sử dụng mã nguồn hơn

là phải tùy chỉnh giao diện đặc thù

Xamarin.Form

• Các ứng dụng yêu cầu tương tác trực

tiếp với các tính năng đặc trưng, API

đặc thù cho từng nền tảng

• Yêu cầu giao diện người dùng bóng

bẩy, chuyên nghiệp

• Ưu tiên tùy chỉnh giao diện đặc thù

hơn là việc tái sử dụng mã nguồn

Xamarin.Android + Xamarin.iOS

C#

Xamarin Test Cloud

• Báo cáo về crash và các cảnh

báo khi ứng dụng hoạt động

• Nắm bắt cách người dùng

tương tác với ứng dụng

• Theo dõi các sự kiện thường xảy

ra trên ứng dụng

Cải thiện và nâng cấp ứng dụng

ngày một tốt hơn

Xamarin Insights

C#

DEMO

TÀI LIỆU THAM KHẢO

• www.xamarin.com

• www.idc.com

• www.techcrunch.com

• www.dazeinfo.com

• www.worldometers.info

• www.appindex.com

Web:

eBook:

• Creating Mobile Apps with Xamarin.Forms - Charles Petzold

….tôi có thể dùng Xamarin

và bạn cũng có thể,

thậm chí còn tốt hơn...!

HỎI - ĐÁP

QUAY SỐ MAY MẮN

CẢM ƠN CÁC ANH/CHỊ ĐÃ CHÚ Ý THEO DÕI