Nó cho phép bạn xây dựng các ứng dụng di động đẹp và mượt mà trên nhiều nền tảng khác nhau, bao gồm iOS và Android, bằng cách sử dụng cùng một mã nguồn.. Ưu điểm và khuyết điểm của Flut
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THỐNG THÔNG TIN
ĐÀO VÕ TRƯỜNG GIANG 20521258 – TMĐT2020
BÁO CÁO THỰC TẬP DOANH NGHIỆP
LẬP TRÌNH ỨNG DỤNG ĐẶT PHÒNG KHÁCH SẠN SỬ DỤNG FLUTTER
TP Hồ Chí Minh, tháng 06 năm 2024
Trang 2ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THỐNG THÔNG TIN
BÁO CÁO THỰC TẬP DOANH NGHIỆP
LẬP TRÌNH ỨNG DỤNG ĐẶT PHÒNG KHÁCH SẠN SỬ DỤNG FLUTTER
Công ty thực tập: Công ty cổ phần công nghệ Apps Cyclone Giảng viên hướng dẫn: Văn Đức Sơn Hà
Người hướng dẫn tại công ty: Trần Trí Quốc Sinh viên thực hiện: Đào Võ Trường Giang
MSSV: 20521258 Lớp: TMĐT 2020
TP Hồ Chí Minh, tháng 06 năm 2024
Trang 3LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn chân thành đến tất cả quý thầy cô giảng viên tại Trường Đại học Công nghệ thông tin - Đại học Quốc Gia TP.HCM, cũng như quý thầy cô thuộc Khoa Hệ Thống Thông Tin và bộ môn Thương Mại Điện Tử Nhờ sự hỗ trợ và tạo điều kiện học tập tốt nhất, em đã có cơ hội phát triển kiến thức và kỹ năng một cách toàn diện
Trong quá trình thực tập, em đã sử dụng kiến thức được trang bị từ nhà trường kết hợp với việc tự nghiên cứu các công cụ và kiến thức mới Tuy nhiên, với hạn chế về thời gian và năng lực cũng như kinh nghiệm thực tế chưa đủ, báo cáo của em vẫn còn một số hạn chế và có thể chứa đựng sai sót Em hiểu rằng điều này là kết quả của sự nỗ lực của bản thân, cùng với sự hỗ trợ từ bạn bè và thầy Em rất biết ơn và trân trọng những góp ý quý báu từ thầy đã giúp em hoàn thiện hơn
Cuối cùng, em muốn gửi lời cảm ơn đến công ty Apps Cyclone vì sự hỗ trợ và chia sẻ những kinh nghiệm quý báu trong quá trình làm việc tại công ty Em cũng muốn thể hiện sự biết ơn đối với các anh leader và các bạn cùng thực tập đã hỗ trợ và chỉ ra những sai sót của em trong quá trình thực tập Nhờ những góp ý này, em đã tích luỹ thêm rất nhiều kinh nghiệm và kiến thức thực tiễn, giúp bổ trợ và cải thiện kỹ năng cần thiết cho bản thân
Một lần nữa xin gửi đến thầy cô, bạn bè và công ty lời cảm ơn chân thành và tốt đẹp nhất!
TP Hồ Chí Minh, tháng 11, năm 2023
Sinh viên thực hiện
Đào Võ Trường Giang
Trang 4TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THỐNG THÔNG TIN
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Họ và tên sinh viên: Đào Võ Trường Giang MSSV: 20521258 Công ty thực tập: Công ty cổ phần công nghệ Apps Cyclone Thời gian thực tập: 06/09/2023 – 03/11/2023 Vị trí thực tập: Flutter Developer (Mobile) Nhiệm vụ được giao: Lập trình giao diện ứng dụng, lập trình các chức năng cơ bản của ứng dụng bằng Flutter Đánh giá quá trình thực tập của sinh viên: Các kết quả sinh viên đã thực hiện được:
Trang 5MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU 1
1.1 Giới thiệu về công ty 1
1.1.1 Giới thiệu chung 1
1.3 Quy trình sản xuất sản phẩm của công ty 3
1.4 Định hướng phát triển của công ty 3
CHƯƠNG 2: KIẾN THỨC, CÔNG CỤ VÀ KỸ NĂNG 5
CHƯƠNG 3: NỘI DUNG CÔNG VIỆC THỰC TẬP 15
3.1 Mô tả nội dung thực tập 15
3.2 Chi tiết về kỳ thực tập 15
3.2.1 Công việc chi tiết 15
3.2.2 Các task và commit khi thực tập 18
3.2.3 Các màn hình của app đã làm 23
3.2.4 Link Source Code: 31
Trang 6CHƯƠNG 4: ĐÁNH GIÁ – NHẬN XÉT 32
4.1 Tự đánh giá 32
4.2 Những điều đạt được 32
4.3 Hạn chế: 32
4.4 Định hướng tương lai cho bản thân 32
TÀI LIỆU THAM KHẢO 34
Trang 7DANH MỤC HÌNH ẢNH
Hình 1.1 Logo công ty Apps Cyclone 1
Hình 1.2 Các khách hàng và đối tác công ty 2
Hình 1.3 Quy trình sản xuất sản phẩm của công ty 3
Hình 2.1 Logo của Dart 5
Hình 2.2 Logo của flutter 6
Hình 2.3 Logo của firebase 7
Hình 2.4 Logo của Visual Studio Code 10
Hình 2.5 Logo của Android Studio 12
Hình 2.6 Logo của Figma 13
Hình 2.7 Logo của Gitlab 14
Hình 3.1 Màn hình gitlab của công ty 18
Hình 3.19 Màn hình thêm thông tin chi tiết để đặt phòng 26
Hình 3.20 Màn hình chọn thông tin chuyến bay 26
Hình 3.21 Màn hình chọn chuyến bay 27
Trang 8Hình 3.22 Màn hình chọn ghế 27
Hình 3.23 Màn hình chi tiết vé bay 28
Hình 3.24 Màn hình kiểm tra thông tin và thanh toán chuyến bay 28
Hình 3.25 Màn hình hiển thị địa điểm đã thích 29
Hình 3.26 Màn hình xem phòng đã đặt, chi tiết phòng đặt 29
Hình 3.27 Màn hình xem thông tin user, cài đặt 30
Hình 3.28 Màn hình sau khi thay đổi theme, ngôn ngữ 30
Trang 9CHƯƠNG 1: GIỚI THIỆU
1.1 Giới thiệu về công ty
1.1.1 Giới thiệu chung
- Tên công ty: Công ty cổ phần công nghệ Apps Cyclone - Logo công ty:
Hình 1.1 Logo công ty Apps Cyclone
- Địa chỉ công ty: 168/6 Bùi Thị Xuân, phường 3, quận Tân Bình, thành phố Hồ Chí Minh, Việt Nam
- Quy mô công ty: 65 nhân viên - Email: enquiry@apps-cyclone.com - Website: appscyclone.com
- Thành lập: 27/02/2013 1.1.2 Lĩnh vực kinh doanh
Sản xuất phần mềm 1.1.3 Sứ mệnh của công ty
“Apps Cyclone tập trung vào con người – giá trị cốt lõi của doanh nghiệp – nhằm mang đến những sản phẩm chất lượng cho khách hàng”
Để thực hiện sứ mệnh này tập thể Cán bộ và nhân viên của Công ty luôn phấn đấu không ngừng, nỗ lực thực hiện các mục tiêu như sau:
- Tạo ra, cung cấp, và phục vụ khách hàng với những sản phẩm và dịch vụ chất lượng đạt tiêu chuẩn hàng đầu
- Liên tục đào tạo và phát triển nhân viên
- Hỗ trợ sinh viên học tập và trải ngiệm trong môi trường doanh nghiệp thực tế
Trang 10- Cung cấp và hỗ trợ các dịch vụ website, phần mềm, ứng dụng di động hướng mọi người tới một xã hội công nghệ số hiện đại trong tương lai
- Liên tục xúc tiến và mở rộng thị trường ra các nước trong và ngoài khu vực - Tiếp cận những công nghệ mới nhằm tạo ra các sản phẩm tốt nhất đáp ứng nhu
cầu khách hàng 1.1.4 Khách hàng và đối tác
Hình 1.2 Các khách hàng và đối tác công ty
1.1.5 Lịch sử hình thành và phát triển
Công ty Apps Cyclone được thành lập vào ngày 27/02/2013 Ban đầu Công ty chỉ có 6 thành viên bao gồm cả người sáng lập và các nhân viên Thời gian đầu Công ty đã phải trải qua rất nhiều khó khăn khi vừa thiếu thốn nhân sự vừa hạn chế về cơ sở vật chất, song với công sức, tâm huyết và sự nỗ lực của tất cả các thành viên Apps Cyclone, Công ty đã thực sự trở thành ngôi nhà chung dành cho các bạn trẻ năng động sáng tạo, yêu thích và có niềm đam mê với công nghệ Apps Cyclone đã có những bước đi vững chắc, tự tin đồng hành cùng khách hàng để đem đến những sản phẩm tốt nhất, đáp ứng nhu cầu phát triển của xã hội nhằm nâng cao đời sống con người
Tháng 3/2014 Công ty đặt văn phòng làm việc tại tòa nhà PBS 6-6A, Đường D52, Phường 12, Quận Tân Bình, TP Hồ Chí Minh Số lượng nhân viên công ty đã tăng lên 26 người, Apps Cyclone đã bắt đầu mở rộng thị trường tìm kiếm khách hàng ra nước ngoài Ban đầu khách hàng của công ty chỉ là một vài đối tác trong khu vực Đông Nam
Trang 11Á, sau đó vươn rộng ra tới Châu Mĩ, Châu Âu – chủ yếu tập trung vào các nước: Singapore, Úc, Mĩ, Anh,…
Tháng 3/2017, Công ty chuyển địa điểm văn phòng làm việc về tòa nhà AC – Building – do công ty xây dựng, tại địa chỉ 168/6 Bùi Thị Xuân, Phường 3, Quận Tân Bình, Thành Phố Hồ Chí Minh Hiện nay, Apps Cyclone vẫn tiếp tục duy trì tốc độ phát triển, nâng số lượng nhân viên chính thức lên 65 nhân viên, đã hoàn thành hơn 1000 dự án cho hơn 100 khách hàng
• Solution consultant: tư vấn giải pháp cho đơn vị CNTT bên ngoài
- Product: Phát triển những sản phẩm, nền tảng của công ty như Blockchain, Academy,…
1.3 Quy trình sản xuất sản phẩm của công ty
Hình 1.3 Quy trình sản xuất sản phẩm của công ty
1.4 Định hướng phát triển của công ty
- Mở rộng thị trường sang các quốc gia mới
- Liên tục đào tạo, phát triển đội ngũ nhân viên trong công ty, tiếp cận những công nghệ mới nhằm tạo ra các sản phẩm tốt nhất đáp ứng nhu cầu khách hàng - Giữ liên hệ tốt với nguồn khách hàng đã hợp tác trong thời gian qua
Trang 12- Luôn lấy chất lượng sản phẩm làm thước đo giá trị cốt lõi để đem lại sự thỏa mãn tối đa cho khách hàng
- Phát triển thêm nhiều sản phẩm mới ở lĩnh vực blockchain, crypto
- Phát huy việc chung tay góp sức, sẻ chia cùng Cộng đồng, đóng góp và giúp đỡ các tổ chức từ thiện, góp phần đem lại hạnh phúc, niềm vui cho những người kém may mắn trong xã hội
- Tiếp tục thực hiện hoạt động đào tạo thực tập sinh định kỳ 3 tháng/lần (dành cho sinh viên năm cuối hoặc mới tốt nghiệp), nhằm tạo điều kiện cho sinh viên áp dụng, củng cố những kiến thức đã học, rèn luyện tác phong, quy trình làm việc… và cung cấp cho thị trường IT nguồn Fresher chất lượng.
Trang 13CHƯƠNG 2: KIẾN THỨC, CÔNG CỤ VÀ KỸ NĂNG
2.1 Kiến thức về công nghệ
2.1.1 Kiến thức về Dart
Dart là ngôn ngữ lập trình hướng đối tượng, được Google phát hành có mục đích
chung với mã nguồn mở và được ECMA chấp thuận làm tiêu chuẩn Ngôn ngữ này được sử dụng để xây dựng các ứng dụng web, di động trên nhiều nền tảng khác nhau Hiện tại, Dart hỗ trợ hầu hết các tính năng phổ biến của ngôn ngữ lập trình như lớp, giao diện, chức năng,… tương tự những ngôn ngữ khác.Ngôn ngữ Dart được ra đời vào năm 2011 bởi Google để khắc phục một số nhược điểm của JavaScript
Dart đóng vai trò là ngôn ngữ lập trình cơ bản cho Flutter, và được sử dụng để
xây dựng các ứng dụng di động có thể mở rộng Do là ngôn ngữ có mục đích chung, nó được sử dụng để xây dựng, lập trình các ứng dụng di động gốc cho iOS, Android hoặc cho máy tính để bàn, máy chủ
Ưu điểm và khuyết điểm của ngôn ngữ Dart:
- Ưu điểm:
nên nhanh chóng hơn
thực với hiệu suất cao
- Khuyết điểm:
quy mô nhỏ, chưa có quá nhiều tài nguyên phục vụ cho công việc học tập
Hình 2.1 Logo của Dart
Trang 14• Chỉ bao gồm một lớp đối tượng duy nhất, không hỗ trợ quá trình lặp lại mã
Các tính năng của ngôn ngữ Dart:
• Hướng đối tượng: Dart sử dụng dữ liệu dưới dạng đối tượng thay vì coi dữ liệu là hàm hoặc logic và hỗ trợ cả các khác niệm lập trình hướng đối tượng cơ bản
• Không đồng bộ: Dart không có tính đồng bộ nhưng cho phép đồng thời nâng cao Hiểu đơn giản là bạn có thể chạy đồng thời nhiều tác vụ với Dart bằng cách sử dụng thể độc lập (phân lập)
• Các thư viện tích hợp: Dart bao gồm các thư viện tích hợp mở rộng như Input – Output (IO), Software Development Kit (SDK),… Bạn có thể tìm các đoạn mã code viết sẵn trong những thư viện này và tối ưu theo mục đích của mình • Hỗ trợ đa nền tảng: Dart có thể hoạt động trên nhiều hệ điều hành khác nhau Windows, Linux, macOS cũng như nhiều hệ điều hành khác bởi tính năng Máy ảo Dart
2.1.2 Kiến thức về Flutter
Flutter là một framework phát triển ứng dụng di động đa nền tảng (cross-platform
mobile development) được phát triển bởi Google Nó cho phép bạn xây dựng các ứng dụng di động đẹp và mượt mà trên nhiều nền tảng khác nhau, bao gồm iOS và Android, bằng cách sử dụng cùng một mã nguồn Flutter sử dụng ngôn ngữ lập trình Dart để phát triển ứng dụng Dart được thiết kế để tương thích tốt với Flutter và giúp xây dựng ứng dụng một cách nhanh chóng và hiệu quả
Ưu điểm và khuyết điểm của Flutter:
- Ưu điểm:
• Đa nền tảng: Mã nguồn Flutter có thể được chia sẻ và sử dụng trên nhiều nền
tảng, bao gồm iOS và Android, giúp tiết kiệm thời gian và công sức trong việc phát triển ứng dụng cho các nền tảng khác nhau
Hình 2.2 Logo của flutter
Trang 15• Giao diện đồng nhất: Flutter cho phép bạn tạo ra giao diện người dùng đồng
nhất trên cả iOS và Android, giúp ứng dụng của bạn có cảm giác đồng đều và chuyên nghiệp trên mọi nền tảng
• Mã nguồn mở và miễn phí: Flutter là mã nguồn mở và miễn phí, điều này có
nghĩa bạn không cần phải trả phí cho việc sử dụng framework này
• Hiệu suất cao: Flutter được tối ưu hóa cho hiệu suất cao, giúp ứng dụng chạy
mượt mà và đáp ứng nhanh chóng trên các thiết bị di động
• Thư viện widget phong phú: Flutter đi kèm với một loạt thư viện widget phong
phú và đa dạng, giúp bạn xây dựng giao diện người dùng theo ý muốn - Khuyết điểm:
• Kích thước ứng dụng: Ứng dụng Flutter có thể có kích thước lớn hơn so với
ứng dụng được xây dựng bằng ngôn ngữ và công nghệ khác Điều này có thể gây tốn thời gian tải và lưu trữ
• Chưa phổ biến như các ngôn ngữ khác: Mặc dù Flutter đang trở nên phổ biến
hơn, nhưng nó vẫn chưa được sử dụng rộng rãi bằng các công nghệ như React Native hoặc phát triển ứng dụng nền tảng cố định
• Tích hợp phức tạp: Một số tích hợp với hệ thống bên ngoài, như truy cập vào
các tính năng thiết bị cụ thể, có thể yêu cầu thời gian và công sức nhiều hơn 2.1.3 Kiến thức về Firebase
Firebase Firestore là một dịch vụ cơ sở dữ liệu NoSQL thời gian thực (real-time) được cung cấp bởi Firebase, một nền tảng phát triển ứng dụng di động và web của Google Firestore là một hệ thống lưu trữ dữ liệu trên đám mây, được thiết kế để dễ sử dụng và tích hợp vào các ứng dụng di động và web một cách thuận tiện
Ưu điểm và khuyết điểm của Flutter:
- Ưu điểm:
Hình 2.3 Logo của firebase
Trang 16• Thời gian thực (Real-time): Firestore hỗ trợ tính năng đồng bộ dữ liệu thời gian thực, cho phép ứng dụng cập nhật dữ liệu một cách tức thì trên tất cả các thiết bị kết nối, giúp xây dựng các ứng dụng đa nền tảng đáng tin cậy và động hơn • Dễ sử dụng: Firestore có giao diện người dùng đơn giản và dễ sử dụng Bạn có
thể bắt đầu sử dụng nó một cách nhanh chóng mà không cần kiến thức sâu về cơ sở dữ liệu
• Tích hợp dễ dàng: Firebase Firestore tích hợp tốt với các sản phẩm khác của Firebase như Firebase Authentication, Firebase Cloud Functions, và Firebase Hosting, giúp bạn xây dựng các ứng dụng phức tạp một cách dễ dàng
• Hỗ trợ nhiều nền tảng: Firestore hỗ trợ nhiều nền tảng, bao gồm Android, iOS, web, và cả các ngôn ngữ lập trình như Python và Node.js
• Bảo mật: Firestore cung cấp các tính năng bảo mật mạnh mẽ, bao gồm kiểm soát quyền truy cập dựa trên vai trò, xác thực người dùng và tích hợp với các dịch vụ bảo mật của Firebase
so với các hệ thống cơ sở dữ liệu NoSQL truyền thống
• Không có tích hợp ngoại vi: Firestore không hỗ trợ tích hợp ngoại vi như lưu trữ hình ảnh hoặc tệp Bạn cần phải sử dụng các dịch vụ khác để xử lý nhiệm vụ này 2.1.4 Kiến thức về Git
Git là một hệ thống quản lý phiên bản phân tán (distributed version control system - DVCS) được phát triển bởi Linus Torvalds vào năm 2005 Git cho phép bạn theo dõi và quản lý các phiên bản của mã nguồn và các tệp trong dự án phát triển phần mềm của bạn Đây là một số khái niệm và tính năng quan trọng của Git:
Trang 17- Repository (Kho): Repository là nơi lưu trữ dự án của bạn Có hai loại
Repository: Repository cục bộ (local repository) và Repository từ xa (remote repository) Local repository nằm trên máy tính cá nhân của bạn, trong khi remote repository thường nằm trên máy chủ từ xa (như GitHub, GitLab, hay Bitbucket)
- Commit: Commit là một hành động trong Git để lưu trữ một phiên bản của mã
nguồn Mỗi commit có một thông điệp giải thích những thay đổi đã được thực hiện trong commit đó
- Branch: Branch là một nhánh phát triển độc lập trong dự án Bạn có thể tạo ra
nhiều branch khác nhau để làm việc trên các tính năng, sửa lỗi, hoặc thay đổi khác mà không ảnh hưởng đến branch chính Sau đó, bạn có thể merge (hợp nhất) các branch lại với nhau
- Merge: Merge là hành động kết hợp các thay đổi từ một branch vào branch khác
Điều này thường được sử dụng để đồng bộ hóa các phiên bản đã được phát triển độc lập trên các branch khác nhau
- Pull: Pull là hành động để lấy dữ liệu từ remote repository về local repository,
thường được sử dụng để đồng bộ hóa các thay đổi từ remote repository mới nhất
- Push: Push là hành động để đẩy dữ liệu từ local repository lên remote repository,
cập nhật các thay đổi đã được commit lên remote repository để tất cả thành viên trong nhóm có thể thấy
- Conflict (Xung đột): Xung đột xảy ra khi hai người cùng thay đổi một tệp hoặc
một phần của mã nguồn, và Git không thể tự động giải quyết xung đột Người dùng phải giải quyết xung đột bằng cách chỉnh sửa tệp thủ công
Git là một công cụ quan trọng trong phát triển phần mềm, giúp quản lý mã nguồn một cách hiệu quả, theo dõi lịch sử thay đổi, làm việc đồng thời với nhiều người, và bảo đảm tính nhất quán của dự án Git cũng được sử dụng rộng rãi trong cộng đồng phát triển phần mềm và là cơ sở cho nhiều dịch vụ lưu trữ mã nguồn trực tuyến như GitHub, GitLab và Bitbucket
2.2 Công cụ hỗ trợ
2.2.1 Visual Studio Code
Visual Studio Code, thường được viết tắt là VSCode, là một trình soạn thảo mã nguồn mã nguồn mở miễn phí phát triển bởi Microsoft Nó là một trong các trình soạn thảo mã
Trang 18nguồn phổ biến và mạnh mẽ được sử dụng rộng rãi trong cộng đồng phát triển phần mềm Dưới đây là một số điểm quan trọng về Visual Studio Code:
- Miễn phí và mã nguồn mở: Visual Studio Code là một sản phẩm mã nguồn mở
hoàn toàn miễn phí, có sẵn cho Windows, macOS và Linux Bạn có thể tải và sử dụng nó mà không cần trả bất kỳ phí nào
- Hỗ trợ nhiều ngôn ngữ và khung làm việc: VSCode hỗ trợ nhiều ngôn ngữ lập
trình và khung làm việc (framework) khác nhau Nó đi kèm với các tích hợp sẵn cho Python, JavaScript, TypeScript, C++, và nhiều ngôn ngữ khác Bạn cũng có thể mở rộng khả năng hỗ trợ cho ngôn ngữ và khung làm việc bằng cách cài đặt các tiện ích mở rộng (extensions)
- Mạnh mẽ và linh hoạt: Visual Studio Code cung cấp nhiều tính năng mạnh mẽ
như gợi ý mã (code completion), dò lỗi tự động (linting), dự đoán kiểu (type checking), gỡ lỗi (debugging), kiểm soát phiên bản (version control), và nhiều tính năng khác để giúp bạn phát triển ứng dụng hiệu quả
- Mở rộng thông qua tiện ích mở rộng: VSCode cho phép bạn mở rộng chức
năng của nó bằng cách cài đặt các tiện ích mở rộng từ thư viện trực tuyến của nó Các tiện ích mở rộng giúp bạn tùy chỉnh trình soạn thảo và thêm tính năng mà bạn cần
- Cộng đồng phát triển lớn mạnh: Visual Studio Code có một cộng đồng phát
triển lớn, và có nhiều tài liệu, chủ đề thảo luận, và tiện ích mở rộng được phát triển bởi cộng đồng giúp bạn giải quyết vấn đề và nâng cao kỹ năng sử dụng trình soạn thảo này
- Hỗ trợ tích hợp với các dự án lớn: VSCode hỗ trợ làm việc với các dự án phức
tạp và có khả năng tích hợp với các hệ thống quản lý mã nguồn như Git
Visual Studio Code đã trở thành một công cụ quan trọng trong phát triển phần mềm và là lựa chọn phổ biến cho các lập trình viên trên toàn thế giới.
Hình 2.4 Logo của Visual Studio Code
Trang 192.2.2 Android Studio
Android Studio là một môi trường phát triển tích hợp (IDE) được phát triển bởi Google dành cho việc phát triển ứng dụng di động chạy trên nền tảng Android Đây là một công cụ quan trọng và mạnh mẽ cho các nhà phát triển ứng dụng Android Một số lợi ích của nó như:
- Miễn phí và mã nguồn mở: Android Studio là một sản phẩm mã nguồn mở và
hoàn toàn miễn phí Bạn có thể tải và sử dụng nó mà không cần phải trả bất kỳ phí nào
- Tích hợp Android SDK: Android Studio đi kèm với Android SDK, bao gồm tất
cả công cụ, thư viện, và tài liệu cần thiết để phát triển ứng dụng Android
- Giao diện người dùng thông minh: Android Studio cung cấp giao diện người
dùng thân thiện và dễ sử dụng, giúp bạn tạo ra và quản lý các dự án Android một cách hiệu quả
- Tạo và quản lý dự án: Android Studio cho phép bạn tạo và quản lý các dự án
Android dễ dàng Bạn có thể chọn từ một loạt mẫu dự án hoặc bắt đầu từ đầu
- Tự động hoàn thiện mã (Code completion): Android Studio cung cấp tính năng
gợi ý mã tự động (code completion), giúp bạn nhanh chóng viết mã và tránh sai sót
- Dự đoán kiểu (Type inference): IDE hỗ trợ dự đoán kiểu biến và phát hiện lỗi
kiểu dữ liệu trong quá trình phát triển
- Mô phỏng và gỡ lỗi (Emulation and Debugging): Android Studio cung cấp bộ
công cụ mô phỏng và gỡ lỗi mạnh mẽ cho phát triển và kiểm tra ứng dụng trên các thiết bị ảo hoặc thiết bị thật
- Hỗ trợ phiên bản Android mới: Android Studio liên tục cập nhật để hỗ trợ các
phiên bản mới của Android và các tính năng mới như Dark Mode và đa màn hình
- Hỗ trợ phiên bản cũ: Bạn có thể cấu hình dự án để hỗ trợ các phiên bản Android
cũ hơn, giúp đảm bảo ứng dụng của bạn hoạt động trên nhiều thiết bị khác nhau
- Cộng đồng lớn và tài liệu đa dạng: Android Studio có một cộng đồng lớn và
phong phú, cùng với nhiều tài liệu, hướng dẫn, và tài liệu tham khảo trực tuyến giúp bạn nắm vững việc phát triển ứng dụng Android
Trang 20Android Studio là một công cụ quan trọng cho việc phát triển ứng dụng di động Android và là lựa chọn hàng đầu của các nhà phát triển trên toàn thế giới.
2.2.3 Figma
Figma là một ứng dụng thiết kế giao diện người dùng và hợp tác trực tuyến, được phát triển bởi Figma, Inc Nó được sử dụng rộng rãi trong lĩnh vực thiết kế để tạo ra các giao diện người dùng, các bản vẽ dự án, và các mẫu thiết kế đa dạng Figma có một số tính năng nổi bật sau:
- Trình duyệt web dựa trên đám mây: Figma hoạt động trực tiếp trong trình
duyệt web, cho phép bạn truy cập và làm việc trên các dự án thiết kế từ bất kỳ thiết bị nào có kết nối internet Không cần cài đặt phần mềm cụ thể trên máy tính của bạn
- Hợp tác thời gian thực: Một trong những điểm mạnh của Figma là khả năng
hợp tác trực tuyến Bạn có thể làm việc cùng với đồng nghiệp trong thời gian thực trên cùng một dự án, thậm chí xem và chỉnh sửa đồng thời trên cùng một thiết kế
- Chia sẻ dự án dễ dàng: Figma cho phép bạn chia sẻ một liên kết đến bản vẽ
hoặc thiết kế với người khác, bất kể họ có tài khoản Figma hay không Điều này giúp bạn thu thập phản hồi từ người dùng, nhận xét từ đồng nghiệp, hoặc kiểm tra giao diện với khách hàng một cách dễ dàng
- Phong cách thiết kế (Design Systems): Figma hỗ trợ phong cách thiết kế, cho
phép bạn xây dựng và quản lý các hệ thống phong cách để đảm bảo tính nhất quán trong thiết kế trên nhiều màn hình và dự án
Hình 2.5 Logo của Android Studio
Trang 21- Tương thích đa nền tảng: Figma hỗ trợ việc xuất các tài liệu thiết kế và giao
diện dưới nhiều định dạng khác nhau, bao gồm HTML/CSS, hình ảnh, hoặc tài liệu vector
- Hỗ trợ cho người phát triển: Figma cung cấp tích hợp với các công cụ phát
triển, cho phép bạn xuất mã nguồn CSS, hiển thị hộp thoại Inspect để kiểm tra kích thước và thuộc tính của các yếu tố giao diện
- Đa dạng công cụ thiết kế: Figma cung cấp nhiều công cụ để tạo ra các thành
phần giao diện, biểu đồ, hình ảnh vector, và nhiều tính năng khác giúp bạn thiết kế giao diện đa dạng và thú vị
Figma đã trở thành một công cụ phổ biến và quan trọng trong lĩnh vực thiết kế giao diện người dùng, đặc biệt là trong các dự án cần tính hợp tác và sự đa dạng trong việc thiết kế
2.2.4 Gitlab
GitLab là một nền tảng quản lý mã nguồn, dự án và hệ thống tích hợp liên quan đến phát triển phần mềm thông qua Internet Được phát triển bởi GitLab Inc., nó được cung cấp dưới dạng mã nguồn mở và phiên bản có giấy phép Một số lợi ích của Gitlab có thể kể đến như:
- Quản lý mã nguồn (Source Code Management): GitLab cung cấp một hệ thống
quản lý mã nguồn dựa trên Git, cho phép bạn quản lý và theo dõi mã nguồn của dự án một cách hiệu quả
- Quản lý dự án: Bạn có thể tạo, quản lý, và theo dõi các dự án phát triển phần
mềm trên GitLab Mỗi dự án có thể có nhiều thành viên và nhiều tính năng quản lý, bao gồm hệ thống lưu trữ, chỉnh sửa, cấp phép, và nhiều công cụ khác
- Hệ thống CI/CD tích hợp (Continuous Integration and Continuous
Deployment): GitLab tích hợp hệ thống CI/CD, cho phép bạn tự động kiểm tra,
Hình 2.6 Logo của Figma