Tổng quan về Dart

Một phần của tài liệu ĐỒ án ỨNG DỤNG TỔNG hợp TIN tức (Trang 25 - 30)

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.2 Tổng quan về Dart

Flutter sử dụng ngôn ngữ Dart để xây dựng ứng dụng di động đa nền tảng. Vì vậy, sinh viên cần tìm hiểu về ngơn ngữ lập trình Dart.

16

2.2.1 Khái niệm

Dart là ngơn ngữ lập trình được thiết kế cho việc phát triển phía client, như web và ứng dụng di động. Được phát triển bởi Google và cịn có thể được dùng để xây dựng máy chủ và các ứng dụng trên nền tảng Desktop.

Dart là ngôn ngữ thuần hướng đối tượng, dựa trên class, ngôn ngữ garbage- collected với cú pháp giống với ngơn ngữ C. Dart có thể biên dịch ra native code hoặc javascript. Nó cịn được hỗ trợ interface, mixin, abstract classes, reified generics và type inference (Wikipedia).

Dart là ngôn ngữ mã nguồn mở và miễn phí, được phát triển trên GitHub.

2.2.2 Đặc điểm

Dart hỗ trợ rất nhiều các đặc tính tuyệt vời. Dưới đây là các đặc tính chính và quan trọng như:

- Hỗ trợ lập trình hướng đối tượng OOP.

- Hỗ trợ HTML DOM framework để bạn khai thác DOM đa trình duyệt.

- Hỗ trợ cú pháp Fluent API nghĩa là bạn có thể gán giá trị của các thuộc

tính trong một dịng code.

- Hỗ trợ lập trình không đồng bộ async.

- Hỗ trợ deferred loading từ Dart 1.6. Tính năng sẽ giúp bạn cải thiện được

hiệu suất khi khởi động ứng dụng bởi vì nó sẽ khởi tạo các package nào đang được sử dụng trong ứng dụng của bạn.

- Tích hợp với Polymer project để bạn xây dựng các web components và tái

sử dụng lại trong các ứng dụng khác trong tương lai.

- Tích hợp với Angular để bạn có thể tạo ứng dụng web theo mơ hình MVC

có thể dễ dàng bảo trì, dễ kiểm thử và clean code hơn.

- Hỗ trợ các thư viện toán học để bạn xây dựng các ứng dụng game và ứng

dụng liên quan đến việc tính tốn.

- Hỗ trợ các kiểu dữ liệu phố biến như số nguyên, chuỗi, số thực...

2.2.3 Ưu điểm

17

- Năng suất: Cú pháp Dart rõ ràng và súc tích, cơng cụ của nó đơn giản

nhưng mạnh mẽ. Type-safe giúp bạn xác định sớm các lỗi tinh tế. Dart có các thư viện cốt lõi và một hệ sinh thái gồm hàng ngàn package.

- Nhanh: Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có được

dự đốn hiệu suất cao và khởi động nhanh trên các thiết bị di động và web.

- Di động: Dart biên dịch thành mã ARM và x86, để các ứng dụng di động

của Dart có thể chạy tự nhiên trên iOS, Android và hơn thế nữa. Đối với các ứng dụng web, chuyển mã từ Dart sang JavaScript.

- Dễ gần: Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp

và định hướng đối tượng khơng gây ngạc nhiên của nó. Nếu bạn đã biết C++, C# hoặc Java, bạn có thể làm việc hiệu quả với Dart chỉ sau vài ngày.

- Reactive Dart: rất phù hợp với lập trình Reactive, với sự hỗ trợ để quản lý

các đối tượng tồn tại trong thời gian ngắn, chẳng hạn như các widget UI, thông qua phân bổ đối tượng nhanh và GC. Dart hỗ trợ lập trình khơng đồng bộ thơng qua các tính năng ngơn ngữ và API sử dụng các đối tượng Future và Stream. [1]

- Hỗ trợ các thư viện toán học để bạn xây dựng các ứng dụng game và ứng

dụng liên quan đến việc tính tốn.

- Hỗ trợ các kiểu dữ liệu phố biến như số nguyên, chuỗi, số thực...

2.2.4 Nhược điểm

Bên cạnh những ưu điểm, Dart còn tồn tại các nhược điểm sau:

- Tài liệu và cộng đồng hỗ trợ cịn ít.

- Khá mới đối với lập trình viên và cịn đang ít được sử dụng trên thị trường.

- Còn đang trong giai đoạn phát triển, chưa ổn định.

Tuy nhiên những nhược điểm trên đa số đều gặp phải bởi các ngơn ngữ lập trình mới xuất hiện nên việc sử dụng khơng hẳn là khó khăn.

18

2.3 Tổng quan về Firebase 2.3.1 Khái niệm

Firebase là nền tảng được phát triển bởi google dành cho việc hỗ trợ các ứng dụng web và mobile. Ban đầu nó được tạo ra bởi một cơng ty độc lập năm 2011 và được Google mua lại vào năm 2014. Với việc sử dụng Firebase, các nhà phát triển sẽ thao tác ở phía backend thuận lợi hơn do đó dành nhiều thời gian hơn trong cơng việc phát triển ứng dụng ở khía cạnh khác.

Firebase thuộc BaaS (Backend as a service). Hướng đến thiết bị chủ yếu là mobile nên cịn có thể gọi là MBaaS.

2.3.2 Kiến trúc

Hình 2. 2: Kiến trúc của Firebase

1. Công cụ để soạn hoặc xây dựng các message request. The Notification

composer cung cấp tùy chọn dựa trên GUI để tạo các message request. Để tự động hóa hồn tồn và hỗ trợ tất cả message types, bạn phải tạo các message request trong môi trường máy chủ đáng tin cậy hỗ trợ SDK quản trị Firebase hoặc các giao thức máy chủ FCM.

19

2. the FCM backend chấp nhận các message request, thực hiện chuyển đổi tin

nhắn qua các chủ đề và tạo message metadata chẳng hạn như ID message.

3. Lớp truyền tải flatform-level, định tuyến thông điệp đến thiết bị được nhắm

đến, xử lý việc gửi thông báo và áp dụng cấu hình dành riêng cho nền tảng nếu thích hợp. Lớp vận chuyển này bao gồm:

o Android transport layer (ATL) cho các thiết bị Android có dịch vụ

Google play.

o Dịch vụ gửi thông báo (APNs) cho các thiết bị IOS

o Push protocol cho các ứng dụng Web.

4. SDK FCM trên thiết bị của người dùng, nơi thông báo được hiển thị hoặc

thông báo được xử lý theo trạng thái backgound / foreground của ứng dụng và mọi logic ứng dụng có liên quan.

2.3.3 Các chức năng chính

Firebase authentication: Firebase Authentication là chức năng dùng để xác

thực người dùng bằng Password, số điện thoại hoặc tài khoản Google, Facebook hay Twitter, v.v. Firebase Authentication giúp thực hiện việc chia sẻ ID giữa các ứng dụng, giúp người dùng dễ dàng tiếp cận sản phẩm hơn. Vì thế, nó là một chức năng rất cần thiết.

Firebase cloud storage: Firebase storage lưu trữ được nhiều dạng dữ liệu

như tập tin, hình ảnh, video một cách dễ dàng. Ngồi ra nó cịn tích hợp Google security giúp tải lên và tải về các ứng dụng firebase một cách tiện lợi.

Firebase firestore: Cloud Firestore là một cơ sở dữ liệu linh hoạt, có thể mở

rộng để phát triển thiết bị di động, web và máy chủ từ Firebase và Google Cloud. Giống như Cơ sở dữ liệu thời gian thực của Firebase, nó giữ cho dữ liệu của bạn được đồng bộ hóa trên các ứng dụng khách thơng qua trình xử lý thời gian thực và cung cấp hỗ trợ ngoại tuyến cho thiết bị di động và web để bạn có thể tạo các ứng dụng đáp ứng hoạt động bất kể độ trễ mạng hoặc kết nối Internet.

Firevase cloud messaging: Với Firebase Cloud Messaging, ta có thể gửi

20

thơng báo. Khi tên nhắn mới được gửi tới, người dùng có thể nhận được thơng báo. Ví dụ, với trường hợp người dùng sử dụng iPhone, khi có mail hay thơng báo từ application, ở góc trên bên phải icon của app đó sẽ xuất hiện dấu trịn nhỏ màu đỏ, hay tiện lợi hơn, trong dấu tròn đỏ ấy sẽ hiển thị số lượng thông báo, tin nhắn mới.

2.3.4 Ưu điểm

Tạo tài khoản và sử dụng dễ dàng Tốc độ phát triển nhanh

Nhiều dịch vụ trong một nền tảng Được hỗ trợ bởi Google

Tập trung vào phát triển giao diện người dùng Firebase khơng có máy chủ

Tạo lưu lượng truy cập Sau lưu

2.3.5 Nhược điểm

Chỉ hoạt động với cơ sở dữ liệu NoSql Truy vấn chậm

Không phải tất cả dịch vụ được miễn phí Giá hơi cao và khơng ổn định

Chỉ chạy trên Google cloud

Một phần của tài liệu ĐỒ án ỨNG DỤNG TỔNG hợp TIN tức (Trang 25 - 30)

Tải bản đầy đủ (PDF)

(84 trang)