1. Trang chủ
  2. » Giáo Dục - Đào Tạo

LẬP TRÌNH ỨNG DỤNG DI ĐỘNG ĐA NỀN TẢNG VỚI FLUTTER

28 2 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

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 726,84 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Anh cũng là người hướng dẫn cho em tư duy khi làm việc và định hình quy trình làm việc khi thực hiện dự án để em có thể làm việc thuận lợi và tránh sai sót hơn; cảm ơn anh Huỳnh Bảo Quốc

Trang 1

TP Hồ Chí Minh, tháng 06 năm 2022

Trang 2

LỜI MỞ ĐẦU

Ở thời điểm hiện tại, với tốc độ phát triển chóng mặt của khoa học và công nghệ hiện đại thì ta càng thấy được mức độ phổ biến, cung như tiện dụng của những chiếc điện thoại thông minh hiện nay là một điều không thể phủ nhận với hàng tỉ người dùng trên toàn thế giới Và qua đó thấy được ngành công nghiệp các ứng dụng dành cho các thiết bị di động ngày nay là việc không thể thiếu với hơn 2.1 triệu ứng dụng trên App Store và hơn 3.2 triệu ứng dụng trên Google Play Store của hai ông lớn là Apple và Google và sẽ còn tăng lên rất nhanh và nhiều trong tương lai Và cũng như với tốc độ phát triển nhanh chóng của công nghệ hiện đại ngày nay thì các ứng dụng ngày càng được trau chuốt hơn cũng như ngày càng đẹp hơn để đáp ứng nhu cầu của người dùng

Tuy nhiên với thời điểm trước đây để phát triển các ứng dụng cho hai nền tảng lớn đã thì ta phải phát triển với hai module riêng biệt cho từng nền tảng, như vậy gây nên việc tốn kém rất nhiều các chi phí để phát triển cũng như bảo trì Và nhận ra được điều đó khái niệm

về lập trình đa nền tảng đã ra đời với khả năng phát triển các ứng dụng cho nhiều nền tảng khác nhau chỉ với một source nguồn Có nhiều frameworks đa nền tảng khác nhau như: Ionic, Xamarin, React Native, Adobe Phonegap và gần đây nhất đó chính là Flutter của ông lớn Google Mặc dù là một framework còn khá mới mẻ tuy nhiên với sự hỗ trợ và phát triển từ Google không ai có thể phủ nhận được sự phát triển nhanh chóng của framework này Trên thế giới đã có rất nhiều các lập trình viên đã đi theo framework này và với xu thế hội nhập thì các lập trình viên ở Việt Nam cũng không phải là ngoại lệ, góp phần tất yếu cho việc hội nhập với những công nghệ và xu thế mới trên thế giới cho các ứng dụng của Việt Nam

Các ứng dụng được sinh ra để phục vụ cho các nhu cầu tất yếu khi sử dụng điện thoại thông minh và không phân biệt lứa tuổi, bất kì ai cũng có thể sử dụng điện thoại thông minh với bất kì nền tảng nào mà họ thích như Android hay iOS và với các ứng dụng luôn được phát triển phù hợp với lứa tuổi cũng như nhu cầu của họ, cũng như các ứng dụng này giờ đây có thể phát triển được một cách nhanh chóng hơn với chỉ một source code duy nhất

vô cùng tiện lợi Và nhận thấy được tiềm năng của ngành công nghiệp ứng dụng di động cũng như thế mạnh của việc phát triển ứng dụng đa nền tảng, và đặc biệt thế mạnh của framework đa nền tảng mới là Flutter em đã quyết định lựa chọn Flutter để làm định hướng cho con đường phát triển ứng dụng di động của mình

Sau hơn 3 năm học tập tại trường, em có mong muốn được trải nghiệm các công việc thực tế, trau dồi nhiều kinh nghiệm có ích cho bản thân, và tham gia phát triển ứng dụng trong một môi trường chuyên nghiệp, em đã thực hiện dự định đi thực tập của mình ở học

kì 8 Và công ty em lựa chọn là Lecle Vietnam, mặc dù đây là một công ty còn khá mới tuy nhiên đây là một công ty của Hàn Quốc với môi trường trẻ trung năng động và chuyên nghiệp sẽ có thể giúp em thực hiện dự định này

Trang 3

Em xin gửi lời cảm ơn đặc biệt đến anh Tạ Phi Phụng, người đã training Flutter chính cho em cũng như hướng dẫn, giúp đỡ những khó khăn trong công việc cũng như vượt qua những khó khăn trong việc làm quen với môi trường làm việc mới và quy trình làm việc tại công ty Anh cũng là người hướng dẫn cho em tư duy khi làm việc và định hình quy trình làm việc khi thực hiện dự án để em có thể làm việc thuận lợi và tránh sai sót hơn; cảm

ơn anh Huỳnh Bảo Quốc là người đã training cho em các kiến thức cần thiết mà em cần có cho công việc như việc làm việc với backend như Restful API, Firebase, cũng như sử dụng các dịch vụ; cảm ơn anh Nguyễn Phi Ân người đã hướng dẫn cách lập trình giao diện với Flutter và sử dụng các package của nó làm sao để dự án được tốt hơn, cũng như sửa các lỗi sai trong khi lập trình giao diện và xử lý các logic trong Flutter để giúp em cải thiện được các lỗi sai mình thường mắc phải để em rút ra các kinh nghiệm và có thể lập trình giao diện trên Flutter được tốt hơn; em cũng gửi lời cảm ơn đến anh Lâm Xuân Triết người đã chia

sẻ và giúp em củng cố lại các kiến thức cơ bản cần thiết để giúp em có thể áp dụng trong

dự án; em xin cảm ơn các anh chị thuộc team design, backend và QA/QC đã hướng dẫn và

hỗ trợ em hoàn thành tốt dự án được giao; và cuối cùng em xin gửi lời cảm ơn đến anh Nguyễn Mạnh Hùng là Project Manager của mobile team và là người đã cho em thêm những kiến thức cần thiết mà em cần để giúp em có thể bước trên con đường định hướng trở thành một Project Manager như anh trong tương lai Và với những đóng góp và chỉ dẫn của các anh chị thì em đã có thể hoàn thành được một sản phẩm và tham gia vào phát triển một module trong thời gian thực tập

Em cũng xin gửi lời cảm ơn chân thành đến các thầy cô khoa Công nghệ phần mềm đã nhiệt tình tạo điều kiện và hỗ trợ em được thực hiện báo cáo này

Vi Hữu Đức TPHCM, 15/06/2022

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

LỜI MỞ ĐẦU 2

LỜI CẢM ƠN 3

NHẬN XÉT CỦA KHOA 4

MỤC LỤC 5

Chương 1: Giới thiệu công ty thực tập 6

1 Giới thiệu công ty Lecle Vietnam 6

2 Sản phẩm của công ty: 6

Chương 2: Nội dung thực tập 7

1 Tìm hiểu công ty và các kỹ năng cơ bản của công ty: 7

2 Nghiên cứu kỹ thuật: 8

2.1 Các công cụ làm việc: 8

2.2 Tìm hiểu ngôn ngữ Dart: 8

2.3 Tìm hiểu kiến trúc tổ chức project của Flutter: 10

2.4 Tìm hiểu Firebase và package trong Flutter: 11

2.5 Lập trình ứng dụng với Flutter cho 2 nền tảng di động là Android và iOS: 12

3 Thực hiện project: 15

4 Lịch làm việc: 15

Chương 3: Chi tiết về project 20

1 Giới thiệu về ứng dụng thương mại điện tử: 20

1.1 Nội dung chính của ứng dụng: 20

1.2 Cách sử dụng: 23

2 Thực hiện: 24

3 Kế hoạch: 24

Chương 4: Tổng kết quá trình thực tập 25

1 Kết quả đạt được: 25

2 Những khó khăn gặp phải trong quá trình thực tập: 25

3 Kinh nghiệm có được sau quá trình thực tập: 26

TÀI LIỆU THAM KHẢO 27

Trang 6

Chương 1: Giới thiệu công ty thực tập

1 Giới thiệu công ty Lecle Vietnam

Công ty Lecle được thành lập năm 2014 với trụ sở chính ở Hàn Quốc, và sau đó mở rộng văn phòng sang thị trường Singapore và Mỹ, sau đó năm 2017 công ty quyết định thành lập một văn phòng ở Việt Nam Công ty có chuyên môn về các lĩnh vực như Web, Blockchain trước đây là native app (Android, iOS) và sau này chuyển hướng sang Flutter Sau 8 năm thành lập công ty đã xây dựng được chỗ đứng vững chắc ở các thị trường Mỹ, Singapore, Hàn Quốc và Việt Nam với các lĩnh vực về Blockchain với các khách hàng ở

Mỹ và Singapore, khách hàng ở Hàn Quốc và Việt Nam với các lĩnh vực như Web và Mobile

Với văn phòng đặt tại 4 quốc gia và thị trường lớn hàng đầu là Mỹ, Hàn Quốc, Singapore và Việt Nam, công ty gia công cũng như cung cấp các phần mềm cho các lĩnh vực như Web, Block Chain, Mobile cho các quốc gia này với hơn 200 nhân viên đang làm việc tại các văn phòng của công ty

2 Sản phẩm của công ty:

Công ty Lecle cung cấp các ứng dụng Web và Mobile cho các khách hàng ở Hàn Quốc và Việt Nam, ngoài ra công ty còn có các dự án về mảng Blockchain cho các khách hàng ở Mỹ và Singapore với nhiều khách hàng thân quen và đã hợp tác lâu dài với công ty Công ty cũng đi tiên phong trong việc chuyển đổi và cập nhật các công nghệ mới cho Blockchain và cũng như trong đó có Flutter cho ứng dụng di động

Nhờ những hợp tác với các khách hàng lâu năm cũng như với đội ngũ nhân lực tốt, công ty đã có một số sản phẩm như hệ thống server riêng của công ty để tạo ra gitlab riêng của công ty để quản lý source code, ngoài ra server còn có thể sử dụng cho dự án của các khách hàng nếu họ có nhu cầu Ngoài ra công ty cũng đã từng gia công sản phẩm cho một

số khách hàng lớn như KPlaza, Unity, …

Trang 7

Chương 2: Nội dung thực tập

Đợt thực tập này, sinh viên thực tập với chủ đề “Lập trình ứng dụng di động đa nền tảng với Flutter” nhằm mục đích giúp sinh viên được đào tạo toàn diện về lập trình ứng dụng di động đa nền tảng với Flutter, đồng thời rèn luyện kỹ năng làm việc nhóm, giao tiếp, quản lý thời gian, công việc Tại công ty, sinh viên có cơ hội được học tập, khám phá

và làm việc trong môi trường phát triển chuyên nghiệp và năng động

1 Tìm hiểu công ty và các kỹ năng cơ bản của công ty:

Thời gian: 1 ngày

Nội dung: Giới thiệu về công ty, cách tổ chức của công ty cũng như một số thông

tin cần biết trong quá trình thực tập như việc quản lý source code, thông tin tài khoản, …

Ngày đầu tiên đến công ty em đã được nghe các anh chị trong ban nhân sự trình bày về quá trình thành lập cũng như phát triển của công ty (như đã trình bày ở phần trên), đồng thời cũng giới thiệu để nhân viên thực tập làm quen với toàn bộ các nhân viên của các team khác, thành viên trong team hướng dẫn thực tập, cũng như ban lãnh đạo trong công ty để tạo sự gắn kết, thân mật cũng như qua đó giới thiệu về quy trình làm việc từ cao đến thấp trong công ty, cách tổ chức của công ty

Ngoài ra nhân viên thực tập còn được giới thiệu qua về cách thức cũng như quy trình làm việc của công ty như thời gian đi làm, các quy định công ty ban hành mà các nhân viên phải tuân thủ, cách sử dụng email trong công việc, ngoài ra còn có các thông tin về tài khoản của nhân viên như email, gitlab, …

Kết quả: Hiểu thêm về công ty Lecle Vietnam, quá trình thành lập và phát triển,

ngoài ra còn được làm quen với các nhân sự trong công ty, thành viên trong team hướng dẫn và ban lãnh đạo để tạo được sự thân thiết và gắn kết giữa các nhân viên trong công ty Và qua đó có thêm các kỹ năng về việc quản lý email, tài khoản công việc cũng như thời gian làm việc, từ đó có thể làm việc có kế hoạch, kỷ luật cũng như trách nhiệm và tuân thủ các điều lệ của công ty

Trang 8

2 Nghiên cứu kỹ thuật:

vụ của Firebase và quản lý các ứng dụng được đăng ký, Visual Studio Code

và Android Studio – hai công cụ lập trình vô cùng phổ biến và tiện lợi cho việc lập trình Flutter và một số plugin cần thiết cho các IDE này

Thực hiện: Thực hành việc cài đặt môi trường, IDE và sử dụng các phần

mềm đã nêu trên

Kết quả: Thực tập sinh có thể thực hiện lập trình vô cùng tiện lợi với những

công cụ chuyên dụng cũng như được cung cấp hoàn toàn miễn phí và tiện lợi, các công cụ có thể dễ dàng kết nối với nhau, so sánh việc sử dụng các IDE để qua đó có thể chọn được IDE thích hợp và làm việc lâu dài hoặc tùy vào hoàn cảnh và yêu cầu công việc

Nội dung: Thực tập sinh được training và nhắc lại về ngôn ngữ lập trình Dart

với các kiến thức cơ bản quan trọng để có thể sử dụng cho Flutter (Dart là ngôn ngữ cốt lõi trong Flutter)

- Lập trình hướng đối tượng:

Trainer nhắc lại và củng cố các kiến thức cơ bản về lập trình hướng đối tượng như tính đóng gói, trừu tượng, kế thừa, đa hình Ngoài ra thực tập sinh còn được chỉ ra một số điểm khác biệt về OOP mà Dart dùng so với các ngôn ngữ khác

- Lập trình bất đồng bộ:

Thực tập sinh được các trainer hướng dẫn phương pháp lập trình bất đồng bộ trong Dart Đây là một kỹ thuật được sử dụng rất nhiều và không

Trang 9

thể thiếu trong Flutter để xử lý các thao tác bất đồng bộ như tải file, đọc data từ database, … Ngoài ra thực tập sinh còn được giải thích rõ về cơ chế Isolate và Async trong lập trình bất đồng bộ để phân biệt và dùng đúng lúc, đồng thời thấy được điểm mạnh, điểm yếu của chúng

- Làm việc với API:

Các trainer của Flutter team hướng dẫn những cách để làm việc với API thông qua Dart với các thư viện được Dart cung cấp cũng như thư viện từ pub.dev Qua đó thực tập sinh sẽ biết được cách gửi request đến API, nhận kết quả trả về hoặc đánh chặn dữ liệu để xử lý (có thể dùng trong một số trường hộp debug hoặc xử lý data trước khi data được lưu trữ lại, …)

- Null safety:

Các trainer hướng dẫn cho thực tập sinh kiến thức mới và vô cùng hay được Flutter đưa vào trong thời gian gần đây lấy cảm hứng từ ngôn ngữ lập trình Kotlin đó là là null safety, qua đó giúp các thực tập sinh hiểu được tầm quan trọng của nó trong việc giúp ta tránh được các lỗi liên quan đến dữ liệu null trong lập trình Nhờ vào điều đó sẽ giúp cho các thực tập sinh tránh cũng như giảm thiểu được tối đa các rủi ro có thể gặp khi phát triển dự án cho hiện tại và cả sau này

- Giao tiếp giữa Dart và Native code:

Các trainer hướng dẫn cách để ngôn ngữ Dart có thể giao tiếp với các ngôn ngữ cho lập trình native như Java, Kotlin (Android) hoặc Swift, Object-C (iOS) Qua đó giúp cho các thực tập sinh có thể hiểu được cơ chế để ngôn ngữ Dart có thể gọi và sử dụng code từ Native code cho Flutter project để hỗ trợ khi các thư viện của Flutter không cung cấp được tính năng của Native code (VD: lấy version hiện tại của hệ điều hành, dạng thao tác của điện thoại mà người dùng cài đặt (như 3 nút ấn, gesture,

…),

Thực hiện:

- Tham gia đầy đủ các buổi training của công ty

- Thực hiện các bài thực hành để kiểm tra về kiến thức đã được training như tạo các class và sử dụng các phần hướng đối tượng trong Dart theo yêu cầu của trainer, thực hiện việc gọi API đơn giản từ API mẫu của công

ty để xem kết quả và cấu trúc của API, tạo và thực hiện phương thức tải ảnh về máy cho phần lập trình bất đồng bộ

Trang 10

- Thực hiện việc gọi native code đơn giản để nắm được quy trình thao tác

- Ngoài ra phải tìm hiểu thêm các tài liệu trên mạng để nắm rõ thêm các phần đã được hướng dẫn

Thời gian: 5 ngày (1 tuần) Nội dung: Thực tập sinh được training về mô hình mà công ty sử dụng cho

project, tìm hiểu một số design pattern, SOLID principle cũng như tìm hiểu các mô hình phát triển dự án liên quan

- Mô hình phát triển ứng dụng:

Mô hình được tìm hiểu là MVVM (Model – View – ViewModel) Đây

là một mô hình phát triển ứng dụng vô cùng phổ biến hiện tại và được rất nhiều công ty sử dụng trong các dự án của họ, thực tập sinh sẽ tìm hiểu các kiến thức căn bản về mô hình để có thể hiểu được mô hình cũng như nắm bắt cấu trúc cơ bản của mô hình này Ngoài ra thực tập sinh còn được nghe sơ qua về các mô hình như MVC hay MVP và các ưu, khuyết điểm của chúng và hiểu được tại sao nên dùng mô hình MVVM

- Tìm hiểu cấu trúc chính được các trainer module dựa trên:

Tiến hành tìm hiểu kiến thức về kiến thức trong bài viết liên quan nơi các trainer đã dựa trên để viết ra module code tái sử dụng cũng như hướng dẫn cho các thực tập sinh hiện tại và sau này Đây là bài viết cung cấp kiến thức đầy đủ cũng như tổng quan về mô hình mà các trainer sử dụng

để giúp các thực tập sinh hình dung phần nào cấu trúc được sử dụng trong project module

- Tìm hiểu về SOLID principle:

Thực tập sinh được yêu cầu tìm hiểu các quy ước trong SOLID để qua

đó hiểu rõ được tẩm quan trọng của việc có các quy ước khi viết code cho

Trang 11

bản thân để giúp cho thực tập sinh chủ động hoàn thiện bản thân hơn và cải thiện được kỹ năng giúp code clean và module hơn trong tương lai

- Tìm hiểu về project module:

Thực tập sinh được các trainer hướng dẫn sâu hơn về cấu trúc tổ chức

đã được viết ra thành project module Các trainer hướng dẫn từng phần là các class đại diện cho từng lớp theo mô hình MVVM để biết được chức năng của từng class này cũng như nếu sử dụng chúng sẽ giúp ích gì cho việc quản lý source code trong dự án

Thực hiện:

- Tham gia đầy đủ các buổi training của công ty

- Thực hành, hỏi đáp các trainer để làm rõ các kiến thức đã được training

- Tìm hiểu thêm các kiến thức trên mạng để củng cố và bổ sung các kiến thức cần thiết

Kết quả:

- Nâng cao khả năng tổ chức project

- Bổ sung các kiến thức quan trọng về các design pattern

- Biết được các quy tắc viết code sao cho dễ đọc, dễ hiểu và dễ quản lý không chỉ cho các developer hiện tại mà còn những người developer khác gia nhập vào dự án sau

Nội dung: Thực tập sinh được trainer trong Flutter team hướng dẫn tìm hiểu

cách sử dụng Firebase console và sử dụng các dịch vụ của nó, đồng thời tìm hiểu các đăng ký ứng dụng lên Firebase, tìm hiểu nơi để nghiên cứu và tìm các package cần thiết cho dự án

- Sử dụng Firebase Console:

Trainer hướng dẫn cho thực tập sinh tìm hiểu về Firebase một hệ quản trị cho phần backend được cung cấp bởi Google và được sử dùng trong các dự án được công ty cũng như nhiều công ty khác trên thế giới Qua

đó thực tập sinh có thể biết cách đăng ký tài khoản, tạo cho mình những project và quản lý chúng cũng như tích hợp cách dịch vụ được Firebase cung cấp cho dự án Đồng thời thực tập sinh được gợi ý những nơi có thể

Trang 12

tìm tài liệu như Medium hay document của Firebase để qua đó có thể chủ động tìm các tài liệu cần thiết trong quá trình thực hiện dự án

- Sử dụng các package cho dự án:

Các package này được Flutter cung cấp trên trang pub.dev, đây là trang web mà developer Flutter sẽ ghé thăm rất thường xuyên để có thể tìm cho mình những package được đóng góp từ Flutter team của Google cũng như cộng đồng các developer trên toàn thế giới Qua đó giúp các thực tập sinh biết được nơi cũng như cách tìm ra các thư viện hỗ trợ cho các tính năng

mà hiện tại Flutter chưa cung cấp Và các thực tập sinh cũng được tìm hiểu thêm các thao tác để thêm package cũng như quản lý các package của dự án như việc quản lý version, override version, chọn version phù hợp và update version cho package

Thực hiện:

- Tham gia đầy đủ các buổi training của công ty

- Làm các bài thực hành kiểm tra kiến thức đã học như tiến hành tạo dự án

và đăng ký thử ứng dụng, thêm cho project một số dịch của Firebase thường dùng như Firebase Cloud Messaging, Social Login thông qua hướng dẫn từ các package từ pub.dev

- Ngoài ra thực tập sinh cần tìm hiểu thêm các kiến thức trên mạng để có thể nắm đầy đủ cũng như bổ sung thêm những kiến thức chưa hiểu

Kết quả:

- Biết được cách làm việc cơ bản với Firebase cũng như liên kết với các dịch vụ của Firebase vào dự án thông qua các package được Flutter cung cấp thông qua pub.dev

- Biết cách sử dụng cũng như quản lý các package trong một project

iOS:

Nội dung: Tìm hiểu cách Flutter xây dựng ứng dụng cho 2 nền tảng là

Android và iOS cũng như cách Flutter tối ưu code cho 2 nền tảng và cơ chế hoạt động của Flutter trên 2 nền tảng này

- Định nghĩa về Flutter:

Trang 13

Flutter là bộ công cụ của Google lập trình giao diện của Google dựa trên ngôn ngữ lập trình Dart để xây dựng các ứng dụng với giao diện đẹp, ứng dụng được biên dịch thành code native các nền tảng của các thiết bị như mobile, web, desktop và embedded với chỉ duy nhất một source code

vớ khẩu hiệu là “Build once, deploy everywhere” (Nguồn: flutter.dev)

- Định nghĩa về Android:

Android là một tập hợp phần mềm (software stack) dành cho các thiết

bị di động, bao gồm hệ điều hành, phần mềm trung gian (middleware)và các ứng dụng chủ chốt (key applications) Google Inc đã mua lại phát triển ban đầu của phần mềm từ Android Inc., năm 2005 Android là hệ điều hành di động dựa trên phiên bản sửa đổi của nhân Linux và phần mềm mã nguồn mở khác, được thiết kế chủ yếu cho các thiết bị di động màn hình cảm ứng như điện thoại thông minh và máy tính bảng Android được phát triển bởi một nhóm các nhà phát triển được gọi là Open

Handset Alliance và được Google tài trợ về mặt thương mại (Nguồn:

Wikipedia)

- Định nghĩa về iOS:

iOS (trước đây là iPhone OS) là hệ điều hành trên các thiết bị di động của Apple Đây là hệ điều hành chạy trên các sản phẩm iPhone, iPad, và iPod Touch và là hệ điều hành phổ biến thứ 2 trên toàn cầu, sau Android

của Google Ban đầu hệ điều hành này chỉ được phát triển để chạy trên

iPhone (gọi là iPhone OS), nhưng sau đó được mở rộng để chạy trên các thiết bị khác của Apple như iPod Touch (tháng 9 năm 2007) và máy tính

bảng iPad (tháng 1 năm 2010) (Nguồn: Wikipedia)

- Tạo ứng dụng Flutter:

Thực tập sinh được các trainer nhắc lại cách tạo một ứng dụng Flutter

cơ bản, cách sử dụng các công cụ biên dịch, chạy ứng dụng Flutter trên máy ảo Android, iOS và trên cả thiết bị thực tế của hai nền tảng Android

và iOS cũng như việc debug và build ứng dụng thông qua Wifi

- Tối ưu code 2 nền tảng Android và iOS:

Do Flutter cung cấp UI theo dạng Widget và các Widget được sắp xếp trong ứng dụng theo dạng cây với việc nếu một Widget cha được build lại thì các Widget con của nó cũng sẽ như vậy nên các trainer đã hướng dẫn cách để thực tập sinh có thể giảm thiểu được việc phải build lại quá

Trang 14

nhiều Widget thông qua việc quản lý state của các Widget sao cho hiệu quả, qua đó có thể tối ưu được phần mềm trên hai nền tảng để tạo ra trải nghiệm tốt nhất cho người dùng cũng như tiết kiệm được nhiều thời gian của nhà phát triển

- Cơ chế hoạt động của Flutter trên 2 nền tảng này:

Trainer giải thích cho thực tập sinh thêm về cơ chế mà Flutter vẽ giao diện mà developer lập trình lên hai nền tảng Android và iOS đó là thông qua canvas qua đó Flutter có thể tùy biến để vẽ giao diện theo ý muốn, qua đó cung cấp được các Widget vô cùng đẹp và bắt mắt cho các developer cũng như người dùng Flutter sử dụng công cụ để vẽ giao diện trên hai nền tảng này là dựa vào Skia khá mạnh một render engine của

C++ (Nguồn: flutter.dev)

- Lập trình ứng dụng cho 2 nền tảng Android và iOS sử dụng Flutter:

Để lập trình Flutter có hiệu suất cao thì các lập trình viên phải cố gắng

để có thể tối ưu được số lượng widget, cũng như cố gắng module lại những thứ sẽ có thể dùng nhiều trong dự án như màu sắc, font chữ… Vì vậy trước khi tiến hành dự án thực tập sinh được các trainer yêu cầu chuẩn

bị những thứ có thể tái sử dụng trong dự án cũng như giảm thiểu lượng code xuống tối đa Khi đó ứng dụng sẽ trở nền module hơn với việc code

có thể được tái sử dụng ở nhiều nơi sau này cũng như thuận tiện cho việc quản lý và sửa lỗi

Thực hiện:

- Tham gia đầy đủ các buổi training của công ty

- Tạo ra những ứng dụng từ Flutter cho 2 nền tảng với các kiến thức được củng cố chuyên sâu hơn về 2 nền tảng native là Android và iOS

- Tìm hiểu thêm các kiến thức trên mạng để nắm rõ hơn các kiến thức đã được hướng dẫn

Kết quả:

- Có thể hiểu rõ hơn cách thức Flutter hoạt động trên 2 nền tảng native di động là Android và iOS qua đó triển khai ứng dụng Flutter được tốt hơn cho 2 nền tảng với các kiến thức đã được hướng dẫn (giúp dự án hoạt động tốt với các dòng điện thoại khác nhau của 2 nền tảng)

Ngày đăng: 17/08/2022, 21:06

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w