Cross-platform nghĩa là gì

Cross platform là một thuật ngữ chỉ các phương thức điện toán, phần mềm máy tính hay những khái niệm được thực thi cùng nhau và đầy đủ trên các phần mềm máy tính. Vậy cụ thể, Cross platform là gì? Giữa Cross Platform với Native App có những đặc điểm khác biệt nào? Cùng Bizfly tìm hiểu kiến thức tại bài viết này.

Cross Platform là gì? 

Cross platform hay Multi Platform là một nền tảng đa ứng dụng. Hiểu đơn thuần hơn là chỉ với một bản code, bạn hoàn toàn có thể phiên dịch và sử dụng nó trên nhiều nền tảng ứng dụng khác nhau, giúp bạn tiết kiệm ngân sách và chi phí được công sức của con người và thời hạn đáng kể .

Cross-platform nghĩa là gì

Chính vì lợi thế đó mà Cross platform được ưa chuộng bởi rất nhiều lập trình viên hiện nay. Ngoài ra, khi lập trình, bạn cần phải lựa chọn tuỳ theo ưu, nhược điểm của một Framework bởi Cross platform sử dụng Framework đa nền tảng.

Bạn đang đọc: Cross platform là gì? Phân biệt Cross Platform với Native App

Xem thêm : Thiết kế app mobile và những kỹ năng và kiến thức tổng quan về phong cách thiết kế app

Lợi ích mà Cross Platform mang lại 

Các lập trình viên yêu dấu sử dụng Cross platform là chính bới những quyền lợi nhất định mà nó mang lại cho người dùng .

  • Kiến trúc mạch lạc: Khi xây dựng ứng dụng Cross platform, nhà thiết kế cần đảm bảo tuân thủ và chặt chẽ theo đúng mô hình MVC hoặc MVVM để tránh phụ thuộc OS. Tuy điều này gây áp lực cho nhà thiết kế nhưng bù lại ứng dụng sẽ có hiệu năng cao, bảo trì dễ dàng trong tương lai.
  • Ít code: Bạn chỉ cần tốn một ít thời gian và công sức để viết code một bộ mã máy duy nhất, xây dựng và chạy code đó trên nhiều nền tảng khác nhau.
  • Bảo trì và mở rộng: Việc kiến trúc mạch lạc đã góp phần hỗ trợ điều tra và sửa lỗi trở nên dễ dàng hơn. Từ đó, việc bảo trì hay mở rộng cũng sẽ không gặp nhiều khó khăn nữa.
  • Tính tái sử dụng: Các đoạn mã trong Cross platform có thể được tái sử dụng lại một cách dễ dàng và chia sẻ cho các ứng dụng hoặc phần mềm khác cho dù nó không phải là Cross platform.

Ưu điểm, hạn chế của Cross Platform 

Bizfly san sẻ tới bạn những ưu, điểm yếu kém của Cross platform để tận dụng được tối đa những quyền lợi và hạn chế của nó .

Cross-platform nghĩa là gì

Ưu điểm

  • Bạn có thể sử dụng một bản code trên nhiều phiên bản khác nhau.
  • Sử dụng Cross platform sẽ giúp bạn tiết kiệm được lượng lớn chi phí và công sức viết code.
  • Cross platform thích hợp với những dự án lớn, đòi hỏi tính linh hoạt và đa dạng.

Nhược điểm

Xem thêm: Pamphlet là gì? Ấn phẩm được sử dụng nhiều trong ngành quảng cáo

  • Theo đánh giá của những lập trình viên chuyên nghiệp thì cross platform so với các ứng dụng khác vẫn không có khả năng khai thác thư viện của những nền tảng lớn như Android hoặc IOS dù nó tiết kiệm được chi phí và có tính lin hoạt cao.
  • Quá trình cấp phép cho công nghệ của ứng dụng Cross platform gặp nhiều khó khăn và phức tạp.

Tương tự Cross platform, Native App và Hybrid App cũng là những ứng dụng đa nền tảng được sử dụng khá thông dụng. Tuy nhiên, bạn cần nắm rõ được điểm độc lạ giữa 3 loại ứng dụng này như sau .

Cross-platform nghĩa là gì

Native App

  • Định nghĩa: Là ứng dụng gốc được sử dụng với mục đích lập trình phần mềm quản lý trung tâm, quản lý bán hàng, quản lý doanh nghiệp,… chủ yếu trên hai nền tảng IOS và Android.
  • Ưu điểm: Các ứng dụng được xây dựng bởi Native App hoạt động mượt mà, linh hoạt và có thể khai thác tối đa những tiện ích, tính năng của hệ điều hành nhờ sự hỗ trợ của SDK, sự ăn khớp của ngôn ngữ lập trình và hệ điều hành của thiết bị di động.
  • Hạn chế: Chi phí sử dụng Native app tương đối cao, tốn nhiều thời gian, công sức để tiếp cận người dùng và gặp nhiều khó khăn trong việc phát triển đa nền tảng.

Cross platform

  • Định nghĩa: Là ứng dụng đa nền tảng và được sử dụng phù hợp cho nhiều loại nền tảng và loại thiết bị khác nhau. Nó được xem là giải pháp giúp khắc phục các vấn đề của Native App.
  • Ưu điểm: Giúp tối ưu hoá thời gian, công sức và chi phí thực hiện, công việc của các lập trình viên gần như được giảm 50% và phù hợp với xu hướng phát triển.
  • Hạn chế: Framework của Cross platform gặp nhiều vấn đề khi khai thác các thư viện nguồn mở trên Android và IOS.

Hybrid App

Xem thêm: Đặt máy tạo nhịp tim Pacemaker

  • Định nghĩa: Là ứng dụng lai tạo nên từ CSS, HTML và Javascript giúp lập trình viên tạo khung rỗng và đưa lên kho ứng dụng. Bên trong khung chính là không gian hoạt động của thiết kế web.
  • Ưu điểm: Tiết kiệm được nhiều thời gian, công sức, chi phí đồng thời mang lại khả năng vận hành hiệu quả và trải nghiệm tốt hơn cho người dùng.
  • Hạn chế: Hybrid App có tốc độ xử lý không theo kịp được Native app, giao diện đơn giản và không có sức hút.

Lựa chọn Cross Platform, Native App hay hybrid App? 

Cross-platform nghĩa là gì

Bạn hoàn toàn có thể dựa trên những tiêu chuẩn sau để lựa chọn .

  • Nhu cầu: Dựa trên những nhu cầu thiết yếu và dự án của mình cùng những đặc điểm, ưu điểm và hạn chế của từng loại công nghệ để có thể lựa chọn một loại công nghệ phù hợp. Nếu ứng dụng đòi hỏi tính năng vận hành mượt mà, ổn định thì Native App là sự lựa chọn tốt nhất. Còn nếu ứng dụng cần sự linh hoạt hoặc đa nền tảng thì bạn nên chọn Cross platform.
  • Khả năng thực hiện: Chi phí bạn phải bỏ ra khi sử dụng mỗi loại công nghệ là khác nhau. Vì vậy tùy theo mức ngân sách mà doanh nghiệp có thể đáp ứng mà bạn có thể đưa ra phương pháp, sự lựa chọn tối ưu nhất.
  • Native App thì có chi phí cao hơn so với Cross platform và Hybrid App.

Với những thông tin hữu dụng về Cross platform mà Bizfly san sẻ trong bài viết này, bạn đã hoàn toàn có thể đưa ra cho mình một sự lựa chọn tương thích và mang lại hiệu suất cao cao trong việc làm. Hơn nữa hoàn toàn có thể tiết kiệm ngân sách và chi phí được ngân sách cũng là điều bạn cần chăm sóc .

Cross-platform là Cross-platform. Đây là nghĩa tiếng Việt của thuật ngữ Cross-platform - một thuật ngữ được sử dụng trong lĩnh vực kinh doanh.

Khả năng của một ngôn ngữ lập trình (như Java) cho phép các lập trình viên phát triển phần mềm cho nhiều nền tảng cạnh tranh bằng cách viết một chương trình duy nhất một lần. Cross-nền tảng phần mềm có thể chạy trên hầu hết hoặc tất cả các hệ thống có ít hoặc không sửa đổi. Còn được gọi là đa nền tảng.

Thuật ngữ Cross-platform

  • Cross-platform là gì? Đây là một thuật ngữ Kinh tế tài chính có nghĩa là Cross-platform là Cross-platform. Đây là nghĩa tiếng Việt của thuật ngữ Cross-platform - một thuật ngữ được sử dụng trong lĩnh vực kinh doanh.Khả năng của một ngôn ngữ lập trình (như Java) cho phép các lập trình viên phát triển phần mềm cho nhiều nền tảng cạnh tranh bằng cách viết một chương trình duy nhất một lần. Cross-nền tảng phần mềm có thể chạy trên hầu hết hoặc tất cả các hệ thống có ít hoặc không sửa đổi. Còn được gọi là đa nền tảng.
  • Đây là thuật ngữ được sử dụng trong lĩnh vực .

Đây là thông tin Thuật ngữ Cross-platform theo chủ đề được cập nhập mới nhất năm 2022.

Thuật ngữ Cross-platform

Trên đây là thông tin giúp bạn hiểu rõ hơn về Thuật ngữ Cross-platform. Hãy truy cập tudienso.com để tra cứu thông tin các thuật ngữ chuyên ngành tiếng Anh, Trung, Nhật, Hàn...liên tục được cập nhập.

“Trong công nghệ điện toán, đa nền tảng (tiếng Anh: cross-platform hay multi-platform) là một thuật ngữ chỉ các phần mềm máy tính hay các phương thức điện toán và các khái niệm được thực thi đầy đủ và vận hành cùng nhau trên nhiều nền tảng máy tính. Phần mềm đa nền tảng có thể được chia thành hai loại; một loại yêu cầu phải thiết kế hoặc biên dịch từng phiên bản cho mỗi nền tảng nó hỗ trợ; loại kia có thể chạy trực tiếp trên bất cứ nền tảng nào mà không cần sự chuẩn bị thêm đặc biệt nào - chẳng hạn như phần mềm được viết bằng một ngôn ngữ thông dịch hay được biên dịch trước sang mã bytecode có khả năng di động bằng một trình thông dịch hay các gói run-time thường dùng hoặc là thành phần tiêu chuẩn trên mọi nền tảng”.

(Nguồn: https://vi.wikipedia.org/wiki/%C4%90a_n%E1%BB%81n_t%E1%BA%A3ng)

Đọc xong đoạn định nghĩa trên sẽ có bạn hiểu, có bạn thấy lùng bùng. Tôi xin giải thích một cách dễ hiểu như sau:

Đầu tiên phải hiểu platform là gì. Platform là “nền tảng” là móng cho công trình. Nếu coi platform là nền móng của công trình, thì software, application chính là công trình, là ngôi nhà xây trên cái móng đấy. Vậy cross platform là những kiến trúc nhà có thể dựng lên ở các nền khác nhau.

Ngoài ra, theo định nghĩa cross-platform từ wiki thì phần mềm đa nền tảng sẽ chia ra làm hai loại:

1) Loại cần phải thiết kết hoặc biên dịch cho từng nền tảng

2) Loại được viết bằng ngôn ngữ thông dịch hay dược dịch trước sang mã byte code

Trong bài viết này tôi sẽ tập trung vào loại 1. Loại 2 tôi sẽ viết ở một bài khác.

Các ví dụ về cross-platform:

Có thể kể ra đây vô vàn những ứng dụng nổi tiếng đang chạy cross-platform như:

  • Web Browser: Google Chrome, FireFox, Opera
  • Video player: VLC, Kodi, Miro, MPV, SMPlayer
  • Image Process: Gimp, Inkscape
  • Database: Tất cả các Database server đều hỗ trợ cross platform, kể cả Microsoft SQL server cũng không ngoại lệ

Ngoài ra còn rất nhiều ứng dụng cross-platform hay khác nữa. Các độc giả có thể giúp liệt kê thêm ở phần comment

Lợi ích của cross-platform

Vậy câu hỏi đặt ra là: cross-platform có ưu thế, lợi ích gì không? Câu trả lời tất nhiên là có rất nhiều lợi ích rồi. Hiện tại các hãng phần cứng (Chipset, CPU, GPU, wifi, buetooth, ...) đều hỗ trợ đa nền tảng. ví dụ về đồ họa phần cứng GPU thì hầu như các hãng phần cứng đều hỗ trợ opengl, opengles. Nói thêm là hiện nay opengles được coi là chuẩn rendering cho các thiết bị nhúng, nó cũng là một cross platform framework. Nghĩa là ở mức phần cứng cũng đã “cross-platform” và có driver cho từng nền tảng. Do đó những phần mềm chạy trên các hệ điều hành (nền tảng khác nhau) vẫn có thể khai thác được hết các lợi thế phần cứng. vì vậy việc xây dựng cross-platform sẽ có các lợi ích sau:

- Mạch lạc về kiến trúc: Để xây dựng một ứng dụng cross-platform thì thiết kế phải chặt chẽ, tuân thủ theo đúng mô hình (MVC, MVVM,..). để tách biệt phần phụ thuộc vào OS, phần phụ thuộc vào phía 3rd Library (sẽ được mô tả chi tiết ở phần nâng cao). Việc này sẽ là áp lực cho nhà thiết kế, nhưng bù lại sẽ làm cho ứng dụng có hiệu năng cao, dễ dàng bảo trì trong tương lai.

- Viết code ít : Bạn chỉ cần chỉ cần code duy nhất một bộ mã (hoặc phần lớn) và có thể build và chạy trên các nền tảng khác khau. Nghĩa là công sức bỏ ra để viết mã máy sẽ được tối ưu.

- Dễ dàng bảo trì và mở rộng: Do mạch lạc về kiến trúc việc điều tra sửa lỗi cũng sẽ dễ dàng hơn, giúp cho việc bảo trì và mở rộng cũng sẽ dễ dàng hơn nhiều.

- Tính tái sử dụng cao: Hiển nhiên rồi. Vì là cross-platform nên các đoạn mã sẽ dễ dàng được tái sử dụng và share cho các ứng dụng, phần mềm khác cho dù nó là cross-platform không.

Tương lai của cross-platform?

Hãy quay lại với những, framework, ứng dụng cross platform nổi tiếng hiện nay

Bài trước tác giả Tống Văn Linh đã đề cập đến Qt, tôi sẽ lấy luôn ví dụ về Qt framework. Chính vì nó là cross platform mà nó đã len lỏi vào hầu hết các lĩnh vực từ cấu hình thấp đến cấu hình cao đòi hỏi sự mượt mà về UI, UX.

 

Cross-platform nghĩa là gì

Ảnh trên thể hiện những lĩnh vực mà Qt đang thống lĩnh thị trường.

Đây mới là một ví dụ về tính phổ cập, phổ dụng của cross-framework. Chúng ta còn có rất nhiều các thư viện cross platform nổi tiếng khác như: opencv (thư viện phục vụ cho xử lý ảnh), ffmpeg(thư viện phục vụ cho xử lý video), cocos2d(thư viện phục vụ cho gaming với việc sử dụng năng lực đồ họa phần cứng GPU). Tensorflow (thư viện dung cho trí tuệ nhân tạo AI). Những thư viện này đã làm thay đổi ngành công nghệ thông tin, là công cụ mạnh thúc đẩy sự sang tạo cho các lập trình viên, các nhà nghiên cứu khoa học và cả những bạn sinh viên đam mê công nghệ thông tin nữa.

Và, Windows cũng không ngoại lệ

Microsoft, với hệ điều hành windows, được cho là bảo thủ, không ủng hộ open source là giấy phép mà các cross-framework thường hay phát hành theo các chuẩn khác nhau (GPL, LGPL, Apache, BSD, MIT), từ chỗ coi Linux là u nhọt (cancer) theo lời của cựu CEO Microsoft Steve Ballmer :

“Linux is not in the public domain. Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works” (Nguồn: https://en.wikiquote.org/wiki/Steve_Ballmer)

Giờ đây Microsft đã dần cởi mở hơn với linux, cộng động open-source, tham gia và hỗ trợ thúc đẩy rất nhiều vào việc xây dựng các ứng dụng, framework đa nền tảng. Với những bước đi mang tính chất chiến lược sau:

  1. Quyết định mở mã .Net framework, C#
  2. Mua lại github, cung cấp hầu như miễn phí môi trường repository và CICD cho cộng đồng developer. Đối với dân lập trình thì chắc không ai không biết đến git và github.
  3. Tích hợp thành công nhân (kernel) vào windows 10. Với version thứ 2 của WSL (Windows Subsystem for Linux) thì các ứng dụng linux đã có thể chạy gần như native trên nền tảng Windows mà không cần thông qua máy ảo như thế hệ đầu WSL (Nguồn: https://devblogs.microsoft.com/commandline/announcing-wsl-2/)
  1. Quyết định sử dụng engine chromium (là một engine dựng trang HTML cho trình duyệt google chrome ) cho trình duyệt Edge của mình. Đây cũng là một engine open source rất nổi tiếng của google, và tất nhiên nó là cross-platform.
  2. Xây dựng một hệ điều hành mới mang tên Windows Core tương thích cao với Linux. Hiện tại vẫn chưa có thông tin chính xác về Windows Core nhưng tôi hi vọng Windows core sẽ có nhân là Linux kernel, nghĩa là lõi của windows core sẽ phủ cả linux kernel. Nếu làm được vậy thì nó sẽ thu hút được cộng đồng lập trình linux, khi đó bài toán cross-platform còn trở nên đơn giản hơn bao giờ hết.

Sâu hơn về cross-platform:

Dưới đây tôi tiếp tục phân tích trên quan điểm của người lập trình viên khi quyết định chọn cross-platform để phát triển sản phẩm của mình.

Dầu tiên hãy tưởng tượng một ứng dụng hay framework cross-platform nó như thế nào

 

Cross-platform nghĩa là gì

Ảnh trên thể hiện kiến trúc tổng quát của các cross-platform application

Những câu hỏi cần được giải quyết

  1. Cross platform API là gì, nhiệm vụ của nó là gì
  2. Common API, Domain Specific API nên thiết kế như thế nào cho tối ưu
  3. Tại sao phần View có trường hợp không nên xây dựng cross platform
  4. Cách viết code cross platform như thế nào, muốn tìm hiểu thì học ở đâu?

Ở bài sau tôi sẽ trả lời 4 câu hỏi trên và đi vào những kỹ thuật lập trình chuyên sâu cộng thêm phần source code demo.

Ngoài ra nếu người viết sẽ tổng hợp những cau hỏi/comment của độc giả để trả lời cũng như cải thiện bài viết ở lần tới.