Sau đây cafedev sẽ tổng hợp và chọn lọc các câu hỏi hay về Flutter, Có những câu hỏi và câu trả lời phỏng vấn Flutter đã được hỏi ở nhiều công ty. Hãy cùng xem danh sách các câu hỏi phỏng vấn Flutter hàng đầu sau đây.
Ace nào chưa biết học Flutter từ đâu, bạn có thể tham khảo series tự học sau đây.
Nội dung chính
1) Flutter là gì?
Flutter là một bộ công cụ giao diện người dùng để tạo các ứng dụng di động nhanh, đẹp, được biên dịch nguyên bản với một ngôn ngữ lập trình và một cơ sở code duy nhất. Nó là một framework phát triển code nguồn mở được phát triển bởi Google. Nói chung, Flutter không phải là một ngôn ngữ; nó là một SDK. Ứng dụng Flutter sử dụng ngôn ngữ lập trình Dart để tạo ứng dụng. Phiên bản alpha đầu tiên của Flutter được phát hành vào tháng 5 năm 2017.
Flutter chủ yếu được tối ưu hóa cho các ứng dụng di động 2D có thể chạy trên cả nền tảng Android và iOS. Chúng tôi cũng có thể sử dụng nó để tạo các ứng dụng đầy đủ tính năng, bao gồm máy ảnh, bộ nhớ, vị trí địa lý, mạng, SDK của bên thứ ba, v.v.
2) Dart là gì?
Dart là một ngôn ngữ lập trình hướng đối tượng, có mục đích chung với cú pháp kiểu C. Nó là code nguồn mở và được phát triển bởi Google vào năm 2011. Mục đích của lập trình Dart là tạo giao diện người dùng frontend cho web và ứng dụng di động. Nó là một ngôn ngữ quan trọng để tạo ứng dụng Flutter. Ngôn ngữ Dart có thể được biên dịch cả AOT (Ahead-of-Time) và JIT (Just-in-Time.
3) Tôi có nên học Dart for Flutter không?
Có, việc học ngôn ngữ Dart để xây dựng ứng dụng Flutter là rất cần thiết.
4) Flutter có miễn phí không?
Đúng. Flutter là miễn phí và code nguồn mở.
5) Các widget Flutter là gì?
Một ứng dụng Flutter luôn được coi là một cây các material. Bất cứ khi nào bạn định viết code để xây dựng bất cứ thứ gì trong Flutter, nó sẽ nằm bên trong một widget. Các widget mô tả chế độ xem ứng dụng của bạn trông như thế nào với cấu hình và trạng thái hiện tại của chúng. Khi bạn thực hiện bất kỳ thay đổi nào trong code, widget con sẽ xây dựng lại mô tả của nó bằng cách tính toán sự khác biệt của widget con hiện tại và trước đó để xác định những thay đổi tối thiểu đối với việc hiển thị trong giao diện người dùng của ứng dụng.
Các widget được lồng vào nhau để xây dựng ứng dụng. Nó có nghĩa là thư mục gốc của ứng dụng của bạn tự nó là một widget và tất cả các cách nhìn xuống cũng là một widget. Ví dụ: một widget có thể hiển thị một cái gì đó, có thể xác định thiết kế, có thể xử lý tương tác, v.v.
6) Bạn hiểu gì về các widget Stateful và Stateless?
Một widget Stateful có thông tin state. Nó được gọi là động vì nó có thể thay đổi dữ liệu bên trong trong suốt thời gian tồn tại của widget. Một widget cho phép chúng ta làm mới màn hình được gọi là Stateful widget. widget con này không có phương thức build(). Nó có phương thức createState(), trả về một lớp mở rộng Lớp state Flutters. Các ví dụ về widget Stateful là Checkbox, Radio, Slider, InkWell, Form và TextField.
widget không trạng thái(Stateless) không có bất kỳ thông tin trạng thái nào. Nó vẫn tĩnh trong suốt vòng đời của nó. Ví dụ về widget không trạng thái là Văn bản, Hàng, Cột, Vùng chứa, v.v. Nếu màn hình hoặc widget chứa nội dung tĩnh, nó phải là widget Stateless, nhưng nếu bạn muốn thay đổi nội dung, nó cần phải là widget Stateful.
7) Các trình soạn thảo tốt nhất để phát triển Flutter là gì?
Các công cụ phát triển Flutter cho phép phát triển Flutter nhanh hơn và do đó thúc đẩy quy trình làm việc của nhà phát triển. Flutter IDE và các công cụ cần một số plugin để phát triển các ứng dụng di động. Các plugin giúp chúng tôi biên dịch, phân tích code và phát triển Flutter. IDE phổ biến cho sự phát triển của Flutter như sau:
- Android Studio
- Visual Studio
- IntelliJ IDEA
- Xcode
8) Tệp pubspec.yaml là gì?
Đó là tệp cấu hình của dự án sẽ sử dụng rất nhiều trong quá trình làm việc với dự án Flutter. Nó cho phép bạn cách ứng dụng của bạn hoạt động. Nó cũng cho phép chúng tôi thiết lập các ràng buộc cho ứng dụng. Tệp này chứa:
- Cài đặt chung của dự án như tên, mô tả và phiên bản của dự án.
- Sự phụ thuộc của dự án.
- Nội dung dự án (ví dụ: hình ảnh, âm thanh, v.v.).
9) Các gói và plugin trong Flutter là gì?
Gói là một nhóm các loại lớp, giao diện và gói con tương tự nhau. Các gói và plugin giúp chúng tôi xây dựng ứng dụng mà không cần phải phát triển mọi thứ từ các gói. Trong Flutter, nó cho phép bạn nhập các widget hoặc chức năng mới vào ứng dụng. Các gói và plugin có một sự khác biệt rất nhỏ. Nói chung, các gói là các thành phần mới hoặc code được viết bằng ngôn ngữ Dart, trong khi các plugin cho phép nhiều chức năng hơn trên thiết bị bằng cách sử dụng code gốc. Trong DartPub, cả gói và plugin đều được gọi là gói.
10) Ưu điểm của Flutter là gì?
Các ưu điểm phổ biến của Flutter framework như sau:
- Phát triển đa nền tảng: Tính năng này cho phép Flutter viết code một lần, duy trì và có thể chạy trên các nền tảng khác nhau. Nó tiết kiệm thời gian, công sức và tiền bạc của các nhà phát triển.
- Phát triển nhanh hơn: Hiệu suất của ứng dụng Flutter rất nhanh. Flutter biên dịch ứng dụng bằng cách sử dụng thư viện nhánh C / C ++ giúp ứng dụng gần với code máy hơn và mang lại cho ứng dụng hiệu suất gốc tốt hơn.
- Cộng đồng tốt: Flutter có hỗ trợ cộng đồng tốt, nơi các nhà phát triển có thể hỏi các vấn đề và nhận được kết quả nhanh chóng.
- Tải lại trực tiếp và nóng: Nó làm cho quá trình phát triển ứng dụng cực kỳ nhanh chóng. Tính năng này cho phép chúng tôi thay đổi hoặc cập nhật code được phản ánh ngay sau khi các thay đổi được thực hiện.
- code tối thiểu: Ứng dụng Flutter được phát triển bởi ngôn ngữ lập trình Dart, sử dụng biên dịch JIT và AOT để cải thiện thời gian khởi động tổng thể, hoạt động và tăng tốc hiệu suất. JIT nâng cao hệ thống phát triển và làm mới giao diện người dùng mà không cần nỗ lực thêm vào việc xây dựng hệ thống mới.
- Tập trung vào giao diện người dùng: Nó có giao diện người dùng tuyệt vời vì nó sử dụng widget tập trung vào thiết kế, các công cụ phát triển cao, API nâng cao và nhiều tính năng khác.
- Tài liệu: Flutter có hỗ trợ tài liệu rất tốt. Nó được tổ chức và nhiều thông tin hơn. Chúng ta có thể lấy mọi thứ mà chúng ta muốn viết ở một nơi.
11) Bạn có thể cài đặt Flutter bằng cách nào?
Để cài đặt và chạy Flutter trên hệ thống Windows,MacOS trước tiên bạn cần đáp ứng các yêu cầu này đối với môi trường phát triển của mình.
Hệ điều hành | Windows 7 trở lên (Tôi là Windows 10. Bạn cũng có thể sử dụng Mac hoặc Linux OS.). |
Dung lượng đĩa | 400 MB (Nó không bao gồm không gian đĩa cho IDE / công cụ). |
Công cụ | 1. Windows PowerShell2. Git dành cho Windows 2.x (Tại đây, Sử dụng Git từ tùy chọn Dấu nhắc Lệnh của Windows). |
SDK | Flutter SDK dành cho Windows |
IDE | Android Studio (Chính thức) |
12) Cái nào tốt hơn giữa Flutter và React Native?
Flutter và React Native đều được sử dụng để phát triển ứng dụng kết hợp gốc từ một cơ sở code duy nhất. Các ứng dụng này có thể chạy trên nền tảng iOS và Android.
React Native do Facebook phát triển, trong khi framework công tác Flutter lần đầu tiên được giới thiệu bởi Google. Vì vậy, cả hai framework đều có tính năng và tính cộng đồng rất tốt.
Flutter sử dụng ngôn ngữ Dart để tạo ứng dụng, trong khi React Native sử dụng JavaScript để xây dựng ứng dụng.
Theo quan điểm của nhà phát triển, rất khó để lựa chọn trong số chúng. Do đó, rất khó để chọn ra người chiến thắng giữa Flutter và React Native.
13) Tại sao quá trình xây dựng ứng dụng Flutter đầu tiên mất quá nhiều thời gian?
Khi bạn xây dựng ứng dụng Flutter lần đầu tiên, sẽ mất nhiều thời gian hơn. Đó là do Flutter đã xây dựng tệp APK hoặc IPA dành riêng cho thiết bị. Do đó, Gradle và Xcode được sử dụng để xây dựng tệp, mất nhiều thời gian.
14) Tại sao thư mục Android và iOS lại nằm trong dự án Flutter?
Android: Thư mục này chứa một dự án Android hoàn chỉnh. Nó được sử dụng khi bạn tạo ứng dụng Flutter cho Android. Khi code Flutter được biên dịch thành code gốc, nó sẽ được đưa vào dự án Android này, do đó kết quả là một ứng dụng Android gốc. Ví dụ : Khi bạn đang sử dụng trình giả lập Android, dự án Android này được sử dụng để xây dựng ứng dụng Android, được triển khai thêm cho Thiết bị ảo Android.
iOS: Thư mục này chứa một dự án Mac hoàn chỉnh. Nó được sử dụng khi bạn xây dựng ứng dụng Flutter cho iOS. Nó tương tự như thư mục Android, được sử dụng khi phát triển ứng dụng cho Android. Khi code Flutter được biên dịch thành code gốc, nó sẽ được đưa vào dự án iOS này, để kết quả là một ứng dụng iOS gốc. Chỉ có thể xây dựng ứng dụng Flutter cho iOS khi bạn đang làm việc trên macOS và Xcode IDE.
15) Tween Animation là gì?
Đây là hình thức rút gọn của in-betweening. Trong hoạt ảnh tween, bắt buộc phải xác định điểm đầu và điểm cuối của hoạt ảnh. Nó có nghĩa là hoạt ảnh bắt đầu với giá trị bắt đầu, sau đó đi qua một loạt các giá trị trung gian và cuối cùng đạt đến giá trị kết thúc. Nó cũng cung cấp dòng thời gian và đường cong, xác định thời gian và tốc độ của quá trình chuyển đổi. framework công cụ cung cấp tính toán về cách chuyển đổi từ điểm đầu và điểm cuối.
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Tài liệu từ cafedev:
- Full series tự học Flutter từ cơ bản tới nâng cao tại đây nha.
- Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!