SE07-20-1 / SE07-20.1

0 stars 0 forks source link

Tìm hiểu các loại lập trình di động: lập trình native, đa nền tảng … #7

Closed phamthihuyn closed 2 years ago

phamthihuyn commented 2 years ago
phamthihuyn commented 2 years ago
phamthihuyn commented 2 years ago

https://nordiccoder.com/blog/lap-trinh-da-nen-tang/ trong trang này có đầy đủ hơn :)))

phamthihuyn commented 2 years ago

What are native applications? “It's complicated”

On iOS, a “normal” native app is written in Swift or Objective C (possibly with C/C++ thrown in). In Android, it's Java or Kotlin.

The app accesses the system APIs to render itself. Games might lean more on the OpenGL APIs, but they usually directly access the system APIs to get input.

phamthihuyn commented 2 years ago

On Android, there's this thing called the NDK, the Native Development Kit. Using that you can add C/C++ to your app, or even write the entire app in C/C++. So that's both more and less native than “normal” native apps.

phamthihuyn commented 2 years ago
phamthihuyn commented 2 years ago
phamthihuyn commented 2 years ago
phamthihuyn commented 2 years ago
  • Lập trình native: o Xây dựng ứng dụng cho 1 hệ điều hành cụ thể, dựa vào các công cụ được cung cấp cho chúng ta bởi chính các nhà phát triển của 2 hệ điều hành đó (Android, Ios) o Tốc độ tải và hiển thị các components tốt hơn o Là một framework được xây dựng bằng cấu trúc phân cấp để xây dựng các thành phần giao diện hiển thị trên cả Android & Iso được viết bằng js. o Được phát triển bởi Facebook. o Phát triển ứng dụng nhanh chóng, đơn giản, hiệu quả. o Điểm mạnh: Được xây dựng với sự hỗ trợ công gnhệ web, tương đồng create-react-app; Hỗ trợ cross platform mobile app; tiết kiệm thời gian – chi phí xây dựng ứng dụng đa nền tảng; đảm bảo tốc độ; Open source o Điểm yếu: Không hỗ trợ đầy đủ API; thay đổi nhanh chóng; không phù hợp xây dựng ứng dụng cần hiệu suất cao như game

Chỗ này sai, nhưng t đã làm và bổ sung, sửa lại ở những cmt sau rồi. Mn đọc rồi đưa ra thêm ý kiến, t sửa lại nhé

TranTheNam21 commented 2 years ago

1 số cmt lên dịch hẳn sang tiếng Việt để mọi người dễ đọc hơn

callmefox88201 commented 2 years ago

Các ý hơi lộn xộn!

phamthihuyn commented 2 years ago

1 số cmt lên dịch hẳn sang tiếng Việt để mọi người dễ đọc hơn

Ok. Để t tổng hợp, rồi up lên lại nhé.

phamthihuyn commented 2 years ago

Các loại lập trình di động

Lập trình native:

• Native App hay còn được gọi là ứng dụng gốc. Native App vốn là loại app được xây dựng dựa trên một loại ngôn ngữ lập trình gốc và được tạo trên một nền tảng độc lập, dành riêng cho nó. Sở hữu rất nhiều ưu điểm mà các loại app mobile khác không thể có được. • Phát triển ứng dụng native tránh sự phức tạp của việc tạo ra một sản phẩm bền vững trải rộng trên nhiều nền tảng và thay vào đó tập trung vào việc tạo ra một thiết kế gần với nền tảng mục tiêu, Android, iOS, v.v. • Điểm mạnh nổi bật của Native App: có khả năng hoạt động nhanh, hiệu quả và bền bỉ,tình trạng lỗi hiếm xảy ra; được tạo nên dành cho một hệ điều hành duy nhất, do vậy, không một loại ngôn ngữ lập trình nào có thể so sánh được; cho phép người dùng sử dụng dữ liệu ở lần cuối khi online cho thời gian offline. • Hạn chế: có nhiều phiên bản, được cập nhật liên tục theo thời gian; Quá trình nâng cấp, bảo hành, bảo trì Native App khá rắc rối và đôi khi có thể gặp phải các vấn đề liên quan tới điều luật trên các chợ ứng dụng; chỉ phù hợp dành riêng cho một nền tảng duy nhất.

Lập trình CrossPlatform:

• App Cross Platform hay còn thường được gọi với cái tên Multi Platform là một nền tảng đa ứng dụng. Chỉ với một bản code, chúng ta đã có thể phiên dịch và sử dụng chúng trên rất nhiều nền tảng khác nhau, đó là lợi thế mà rất nhiều lập trình viên yêu thích bởi nó giúp họ tiết kiệm được rất nhiều thời gian, công sức. • Framework lập trình đa nền tảng: Xaramin, React native, Flutter, Adobe PhoneGap, Ionic,… • Điểm mạnh: Một bản code có thể được sử dụng trên nhiều phiên bản khác nhau; Chi phí khi sử dụng Cross Platform tiết kiệm hơn rất nhiều so với Native App; Cross Platform cho phép chúng ta thực hiện rất nhiều các dự án lớn, yêu cầu sự linh hoạt, đa dạng. • Hạn chế: không thể khai thác được các thư viện của những nền tảng lớn như IOS hay Android; Quá trình cấp phép cho các công nghệ của Cross Platform diễn ra khá phức tạp.

Lập trình Hybrid:

• Là một trong những loại mobile app đang nhận được sự quan tâm lớn nhất của cộng đồng hiện nay. Các ứng dụng này được xây dựng dựa trên sự kết hợp của 3 nền tảng công nghệ nổi bật nhất hiện tại đó là HTML, CSS và JavaScript. Cũng chính vì thế, Hybrid App sở hữu rất nhiều ưu điểm khiến cho các nhà lập trình app yêu thích và sử dụng rộng rãi. • Điểm mạnh: có thể tiết kiệm được một khoản chi phí rất đáng kể so với Native App. đặc biệt, chỉ cần thực hiện thay đổi, điều chỉnh trên một app là toàn bộ hệ thống điều hành sẽ có sự thay đổi tương đối; được trang bị tất cả những tính năng ưu việt của Mobile app và Native app; có thể tận dụng các tính năng quan trọng của Hybrid App chẳng hạn như cảm biến, GPS hay camera ngay cả khi không có kết nối mạng internet. • Hạn chế: tốc độ chạy của ứng dụng này không được mượt mà.