Ứng dụng đa nền tảng là gì

[ZmikiSoft.com] Ngôn ngữ lập trình đa nền tảng, trong bài viết hôm nay chúng ta sẽ cùng nhau chia sẽ về ngôn ngữ lập trình đa nền tảng.

Khi còn ngồi trên ghế nhà trường, cả khi đã đi làm, hoặc trong cả những cuộc phỏng vấn xin việc nhiều người hay hỏi chúng ta về vấn đề này. Và khái niệm này đang dần phổ biến trong giới lập trình khi ngày nay có quá nhiều nền tảng hệ điều hành từ desktop đến mobile và nhiều mảng khác.

Vậy ngôn ngữ lập trình đa nền tảng là gì, và ngôn ngữ nào là ngôn ngữ lập trình đa nền tảng. Để trả lời câu hỏi này chúng ta cần hiểu khái niệm đa nền tảng là gì?

Theo cách hiểu đơn giản thì đa nền tảng sẽ được hiểu là nhiều nền tảng, vậy ngôn ngữ nào có thể chạy được từ 2 nền tảng trở lên thì có thể gọi là ngôn ngữ lập trình đa nền tảng??? đây có thể là giải thích đúng nhưng chưa hoàn toàn. Như chúng ta biết, ngày nay khi các hệ điều hành dần trở nên phổ biến, đa dạng và ngày càng có nhiều HĐH mới như Android, iOS, window mobile, windows desktop, windows server, linux [ubuntu, debian, suse], macOS, chromeOS, firefoxOS, tizen Thì khái niệm đa nền tảng không dừng lại ở 2 nữa mà là nhiều hơn, có thể là tất cả.

Vậy ngôn ngữ lập trình đa nền tảng là ngôn ngữ có thể chạy được trên nhiều nền tảng kể cả di động và desktop. Và đây cũng sẽ là đích hướng đến của các lập trình viên, các framework mới trong thời gian tới.

Ngôn ngữ nào có thể chạy đa nền tảng và vì sao nó có thể làm được như vậy? Chúng ta có rất nhiều ngôn ngữ làm được việc này như Java [Windows, Android, windows server, hầu hết các HĐH từ linux, macOS] Java làm được là nhờ vào JVM là máy ảo của java, nó được xem như là một chương trình dịch cho các mã nguồn java đã compile. Tất nhiên Java không thể chạy được trực tiếp trên một số nền tảng đặc thù như iOS [ nếu muốn chạy được cần thêm hỗ trợ bằng các công cụ chạy nền khác như roboVM ].

C/C++ là một trong những ngôn ngữ mạnh nhất về mảng lập trình đa nền tảng, hầu hết các hệ điều hành PHỔ BIẾN ngày nay đều phát triển dựa trên ngôn ngữ lập trình C. Do đó trên hầu hết các HĐH đó thì đều có chương trình dịch của ngôn ngữ C/C++. Nhưng để code của bạn có thể chạy đa nền tảng thì code C/C++ của bạn phải chuẩn và sử dụng các thư viện chuẩn, nếu sử dụng các thư viện viết ngoài mà chương trình dịch không hiểu thì sẽ phát sinh lỗi khi chạy đây là lý do mà chúng ta hay bắt gặp khi các bạn cố gắng chạy một chương trình C/C++ viết bằng Visual studio trên Linux.

JavaScript cũng là một ví dụ: JS có thể chạy được nhiều nền tảng là vì hầu hết các nền tảng HĐH phổ biến đều hỗ trợ các trình duyệt web như chrome, firefox từ mobile đến desktop, do đó các trình duyệt này được xem như là chương trình dịch cho mã JS. Các framework code game, ứng dụng đa nền tảng hay tập trung vào JS là vì lý do này.

Vậy ngôn ngữ lập trình đa nền tảng là ngôn ngữ chạy được trên nhiều nền tảng, và để làm được như vậy nó cần có một lớp nền hỗ trợ build mã nguồn của nó ra dạng ngôn ngữ máy để thực thi lệnh.

Ví dụ Java trên desktop có JVM, trên mobile có dex, ART, roboVM

C/C++ trên windows có Visual studio, trên linux, macOS có G++, GCC

Lập trình đa nền tảng là đích nhắm đến của các hãng công nghệ và lập trình viên trong thời gian tới, vì nó giúp tiết kiệm thời gian phát triển ứng dụng, bảo trì, và tiếp cận nhanh được nhiều khách hàng. Không lập trình viên nào muốn mình viết một cái game mà Android phải học Java, iOS phải học ObjectiveC/swift, Windows phải học C# Nhưng làm được điều này không phải là điều đơn giản và nó cần sự bắt tay giữa các ông chủ hệ điều hành như Apple, microsoft, Google và cả giới lập trình viên.

Bất kỳ ngôn ngữ lập trình nào cũng có thể là ngôn ngữ lập trình đa nền tảng nếu nó có chương trình dịch hỗ trợ phù hợp.

Khóa học lập trình Android
Khóa học lập trình Java
Khóa học lập trình iOS
Khóa học lập trình Objective-C/Swift

Video liên quan

Chủ Đề