Các ứng dụng Web lai, gốc và di động: cái nhìn sâu sắc hơn. Tại sao ứng dụng gốc lại tốt hơn ứng dụng kết hợp

Nhiều người cho rằng ứng dụng lai không thể có hiệu suất tốt, đặc biệt là về mặt xây dựng trang (nghĩa là chúng có FPS thấp). Đây là một quan niệm sai lầm. Nếu bạn khéo léo lắp ráp một ứng dụng, bạn có thể đạt được kết quả tốt. Bài viết mô tả một ví dụ về việc lắp ráp một ứng dụng lai như vậy dành cho Android trong Windows 7 (mặc dù đối với iOS, nó sẽ gần như giống nhau).

Hãy nói rằng chúng ta có ứng dụng đã sẵn sàng trên HTML5, trong đó hình ảnh được hiển thị hoàn toàn thông qua phần tử Canvas (Tôi đã sử dụng khung Phaser, 50 họa tiết chuyển động). Trên PC ứng dụng này khởi chạy mà không gặp vấn đề gì (60 FPS). Trên điện thoại thông minh có thương hiệu hàng đầu, mọi thứ đều tốt (50-60 FPS). Nhưng nếu chúng ta dùng một chiếc máy tính bảng trung bình, kết quả sẽ rất tệ (3-15 FPS), ngay cả khi đặc điểm tốt thiết bị.
Do đó, mục tiêu của chúng tôi là tạo ra một gói ứng dụng hoàn toàn có thể xuất bản với các chỉ số hiệu suất tốt.

Hiện tại, có rất nhiều công cụ để đạt được mục tiêu này. Phổ biến nhất trong số họ:
Cordova
Lộ Đức
Intel XDK

Dự án Lộ Đức(Cocoon.js) xây dựng một ứng dụng trên đám mây, khái niệm này khá đơn giản để hiểu. Tôi khuyên bạn nên chú ý đến ứng dụng kháchỨng dụng CocoonJS Launcher, cho phép bạn dễ dàng gỡ lỗi ứng dụng trực tiếp trên thiết bị của mình. Điều này có thể rất hữu ích khi phát triển một ứng dụng. Nhưng tôi không khuyên bạn nên sử dụng dịch vụ này để xây dựng một ứng dụng, bởi vì... Có khá nhiều lỗi và một màn hình giật gân độc quyền đã được thêm vào ứng dụng.

Intel XDK là một công cụ tuyệt vời mà tôi khuyên bạn nên bắt đầu. Ứng dụng này cũng được xây dựng trên đám mây. Về bản chất, Intel XDK là một GUI tiện lợi cho Cordova với đầy đủ các cài đặt, plugin và trình giả lập.

Bằng cách sử dụng Cordova việc xây dựng đã được thực hiện trên máy tính của bạn. Cách tiếp cận này chỉ có hai lợi thế:
Lắp ráp nhanh hơn
Được sử dụng phiên bản mới nhất các thành phần.
Có một nhược điểm:
Cần phải tổ chức môi trường.
Trong bài viết, chúng tôi sẽ xem xét tùy chọn cuối cùng, vì phần lớn vấn đề phát sinh với nó và vì cuối cùng thì dù sao thì bạn cũng sẽ chuyển sang nó.

Vì vậy, hãy bắt đầu. Cài đặt:

  1. Bộ công cụ phát triển Java (JDK) 7
Tiếp theo, mở Android Trình quản lý SDK và cài đặt:
SDK nền tảng Android 5.1.1 (API 22)
Công cụ xây dựng SDK Android phiên bản 19.1.0 trở lên
Kho lưu trữ hỗ trợ Android (Phần bổ sung)

Sau đó vào Studio Android Hãy tạo một bộ khóa để ký apk. Để thực hiện việc này, hãy chọn từ menu Xây dựng > Tạo APK đã ký . Trong cửa sổ mở ra, nhấp vào Tạo mới . Một cửa sổ mới sẽ mở trong đó chúng tôi nhập tất cả dữ liệu (tất nhiên, chúng tôi tự ghi nhớ dữ liệu).


Sau tất cả, bạn có thể đóng Android Studio và không bao giờ mở lại.

Sau đó, bạn cần thay đổi biến môi trường PATH:
1. Nhấp vào menu Bắt đầu ở góc dưới bên trái của màn hình nền, nhấp vào click chuột phải chuột vào Máy tính của tôi và sau đó nhấp vào nút Của cải.
2. Nhấn nút Tùy chọn bổ sung hệ thốngở cột bên trái.
3. Trong hộp thoại mở ra, hãy nhấp vào Biến môi trường.
4. Chọn một biến CON ĐƯỜNG và nhấp vào chỉnh sửa.
5. Thêm phần sau vào PATH, tùy thuộc vào nơi cài đặt SDK (đối với tôi f:\AndroidSDK ), Ví dụ:

C:\Users\Root\AppData\Local\Android\sdk\tools;c:\Program Files\Ant\bin;C:\Users\Root\AppData\Roaming\npm;f:\AndroidSDK\platform-tools;f :\AndroidSDK\công cụ

6. Lưu giá trị và đóng cả hai hộp thoại.

Và chỉ bây giờ chúng tôi mới thực sự cài đặt Cordova. Mở dòng lệnh và chạy:

Cài đặt Npm -g cordova

Sau đó, chúng tôi tạo dự án của chúng tôi. Để thực hiện việc này, hãy chạy lệnh sau:

Cordova tạo projectDirectory com.companyName.appName AppName

Lệnh này có các tham số sau:
dự ánThư mục – thư mục dự án của bạn.
com.companyName.appName - cho biết ID dự án của bạn ở định dạng tên miền đảo ngược.
Tên ứng dụng - chỉ định tên hiển thị của ứng dụng.
Tất cả các tham số này có thể dễ dàng thay đổi sau này trong tệp config.xml.
Sau khi chạy lệnh, thư mục dự án của bạn sẽ được tạo. Thư mục này sẽ chứa một thư mục www, sẽ chứa các tệp trang ứng dụng mặc định. Xóa nội dung của thư mục này và sao chép các tập tin ứng dụng web của bạn vào đó. Đặt tên cho tập tin bắt đầu chỉ mục.html.

Trước khi có thể xây dựng một dự án, một tập hợp các nền tảng mục tiêu phải được xác định. Trong bài viết này tôi sẽ chỉ xem xét Android. Hãy thực thi một lệnh sẽ bổ sung khả năng xây dựng dự án cho nền tảng này.

Nền tảng Cordova thêm android

Sau khi thực hiện lệnh sẽ xuất hiện thư mục và bạn có thể xây dựng debug.apk (gói gỡ lỗi). Gói gỡ lỗi được xây dựng bằng lệnh:

Cordova xây dựng android

Bây giờ hãy thêm tính năng ký gói tự động. Cordova ký gói bằng Gradle. Vì vậy, chúng ta có thể thiết lập ngay các cài đặt chính. Để làm điều này trong thư mục dự ánDirectory\nền tảng\android tạo nên tập tin văn bản phát hành-signing.properties trong đó ghi các cài đặt sau:

StoreFile=../../keystore.jks
storeType=jks
keyAlias=myalias
keyPassword=mật khẩuở đây
storePassword=mật khẩuở đây

Như bạn hiểu, bạn cần sử dụng dữ liệu đã được chỉ định khi tạo khóa.

Cordova xây dựng android --release

Lệnh sẽ mất vài phút để hoàn thành. Sau khi xây dựng xong chúng ta có thể tìm thấy apk đã hoàn thành trong thư mục projectDirectory\platforms\android\build\outputs\apk

Hãy thử nghiệm apk kết quả trên một máy tính bảng trung bình và... chúng ta sẽ lại nhận được kết quả khủng khiếp (5 FPS). Tại thời điểm này, nhiều nhà phát triển mất hy vọng. Sau thất bại như vậy, họ hoặc chạy đến www.ludei.com (vì ít nhất đầu ra ở đó có thứ gì đó lành mạnh), hoặc họ gia nhập “đội quân khốn nạn”, những người tin rằng các ứng dụng lai thật tệ hại.

Trên thực tế, còn quá sớm để từ bỏ hy vọng. Có một dự án tuyệt vời như vậy - Lối băng qua đường. Sử dụng dự án này, bạn có thể nhúng trình duyệt vào ứng dụng Android gốc Google Chrome và chơi dự án của bạn trong đó. Ưu điểm là rõ ràng: hiệu suất của một trình duyệt tốt và tính độc lập với hệ điều hành của thiết bị.
Dự án Crosswalk được thêm vào Cordova dưới dạng plugin. Vì vậy, đã đến lúc mở rộng ứng dụng của chúng tôi bằng các plugin. Điều này được thực hiện rất dễ dàng. TRONG dòng lệnh khởi chạy từ thư mục dự án, chạy các lệnh:

Plugin Cordova thêm cordova-plugin-splashscreen

Khả năng cài đặt trình bảo vệ màn hình khởi động sẽ được thêm vào dự án. Hãy chắc chắn để cài đặt plugin này.
Sau đó, bạn có thể thêm plugin theo yêu cầu của mình. Đây chỉ là một vài trong số họ:

Plugin Cordova thêm cordova-plugin-rung

(plugin bổ sung thêm khả năng kiểm soát độ rung)

Plugin Cordova thêm cordova-plugin-toàn cầu hóa

(plugin bổ sung thêm khả năng xác định vị trí của thiết bị)

Plugin Cordova thêm cordova-plugin-inappbrowser

(plugin bổ sung thêm khả năng thực hiện yêu cầu đến máy chủ)

Chà, cuối cùng, hãy thêm Lối băng qua đường:

Plugin Cordova thêm cordova-plugin-crosswalk-webview

Sau khi cài đặt, chúng tôi sẽ xây dựng apk tiếp theo và thử nghiệm trên thiết bị. Rất có thể chúng tôi cũng sẽ nhận được kết quả tệ hại (15 FPS)...
Ở đây những người không đánh mất nó trong lần thử nghiệm đầu tiên sẽ mất hy vọng. Và những nhà phát triển này gia nhập “đội quân của những kẻ khốn nạn”, những người tin rằng các ứng dụng lai thật tệ hại.
Nhưng còn quá sớm để từ bỏ... Đây là nơi “ma thuật” bắt đầu.

trình duyệt Google Chrome có một điều đặc biệt danh sách đen GPU, điều này hạn chế việc sử dụng WebGL. Đây là một tính năng có lỗi khác của Google. Tại sao nó lại bị lỗi?
Thứ nhất, chức năng này không chỉ giới hạn công cụ WebGL mà còn làm giảm đáng kể hiệu suất của công cụ Canvas.
Thứ hai, mặc dù chức năng này được gọi là “danh sách đen GPU”, nhưng nó hoạt động giống như “danh sách trắng”. Nghĩa là, nếu bạn có một chiếc điện thoại thông minh có thương hiệu cao cấp thì nó sẽ nằm trong danh sách này và ứng dụng của bạn hoạt động rất tốt. Và nếu bạn có một số loại điện thoại “Trung Quốc” (hoặc thậm chí là điện thoại có thương hiệu, không phải cao cấp), thì nó không còn trong danh sách nữa và do đó, hiệu suất của ứng dụng sẽ thấp.
Google giải thích điều này bằng cách quan tâm đến người dùng. Họ nói rằng trình duyệt có thể không ổn định trên điện thoại thông minh không có thương hiệu hàng đầu. Vâng, tất nhiên... Theo quan sát của tôi, tất cả sự “không ổn định” này bắt nguồn từ việc đóng ứng dụng dưới mức tải cực cao (ví dụ: tạo đồng thời 200-300 đối tượng).

Để đạt được hiệu suất tối đa. Hãy tắt nó đi Chức năng này. Để làm điều này, hãy tạo trong thư mục projectDirectory\platforms\android\assets tập tin văn bản xwalk-dòng lệnh sẽ chỉ chứa một dòng:

Xwalk --ignore-gpu-danh sách đen

Tất cả. Chúng tôi đã thực hiện lại một dự án khác và thử nghiệm nó... Kết quả là hiệu suất xuất sắc (50-60 FPS). Kết quả đã đạt được.

Ứng dụng lai kết hợp các yếu tố của cả ứng dụng gốc và ứng dụng web. Việc phát triển ứng dụng gốc được thực hiện cho một nền tảng cụ thể và được cài đặt trên thiết bị kỹ thuật số. Trong khi tạo ứng dụng di động, HTML5 cung cấp một số lựa chọn thay thế có động lực và chức năng riêng.

Cấu trúc này cũng hữu ích cho việc thiết kế hình thức bên trong và bên ngoài của ứng dụng, khi ứng dụng sẵn sàng, nó sẽ hoạt động với sử dụng HTML, JavaScript và CSS.

Vậy tại sao các ứng dụng lai lại phổ biến đến vậy? Điều này là do sự dễ dàng và đơn giản của các nhà phát triển khi viết ứng dụng cũng như khả năng hoạt động tiếp theo của họ trên bất kỳ nền tảng nào.

Tạo ứng dụng di động lai

Dưới đây là nhóm HTML5 Framework để dễ lập trình và thiết kế:

Sencha Touch là Khung JavaScript MVC hàng đầu để tạo các ứng dụng di động đa nền tảng, tạo điều kiện thuận lợi cho quá trình phát triển ứng dụng web bằng HTML5 và javascript. Nền tảng này bao gồm một loạt các sản phẩm hoạt động ngay lập tức. Sencha Touch sử dụng kỹ thuật tăng tốc phần cứng để cung cấp hiệu suất cao các thành phần giao diện người dùng cho các thiết bị di động.

Với hơn 50 thành phần giao diện người dùng tích hợp và duyệt chủ đề cho tất cả các chủ đề chính. nền tảng di động Sencha Touch cung cấp mọi thứ bạn cần để tạo các ứng dụng ấn tượng chạy trên iOS, Android, BlackBerry, Điện thoại Windows, và nhiều người khác. Bố cục thích ứng, hoạt hình mượt màCuộn trơn cho phép các nhà phát triển tạo các ứng dụng phản hồi hành động của người dùng gần như ngay lập tức, tương tự như các công nghệ gốc.

Khung này bao gồm gói dữ liệu đáng tin cậy có thể nhận dữ liệu từ bất kỳ nguồn dữ liệu phụ trợ nào. Gói biểu đồ nâng cao cho phép bạn trực quan hóa dữ liệu trên thiết bị di động. Các chủ đề có giao diện gốc cho mọi nền tảng chính cho phép bạn tạo các ứng dụng web và ứng dụng kết hợp phù hợp với giao diện của nền tảng mục tiêu của bạn.

  1. ion

Mã nguồn mở và miễn phí, Ionic cung cấp một thư viện gồm các thành phần và công cụ HTML, CSS và JS được tối ưu hóa cho thiết bị di động để tạo các ứng dụng web gốc và tiến bộ tương tác. Ionic, đi kèm với một bộ tính năng độc quyền, có thể được gọi là người tiên phong trong lĩnh vực phát triển ứng dụng di động lai.

Rõ ràng, đơn giản và đầy đủ chức năng, nền tảng Ionic được thiết kế để hoạt động và hiển thị đẹp mắt trên tất cả các thiết bị và nền tảng di động hiện đại. Với các thành phần sẵn sàng cho thiết bị di động và chủ đề cơ bản tuyệt đẹp thích ứng với mọi nền tảng.

Telerik Kendo UI là phần mở rộng của HTML5 Framework, hoạt động như một trong những nền tảng tốt nhất cho các nhà phát triển muốn tạo ứng dụng di động đa nền tảng. Các Khung này phụ thuộc nhiều vào JQuery và bao gồm một số tiện ích dựa trên JQuery. Khung JavaScript cũng có sẵn trong Khung mở này và đây là tính năng nổi bật của nó.

Người hâm mộ Angular (Angular là một framework mã nguồn mở mã nguồn) và bootstrap (Bootstrap là bộ công cụ miễn phí để tạo trang web và ứng dụng web) có thể sử dụng Giao diện người dùng Angular trên thiết bị di động và họ cũng có cơ hội thêm cả Bootstrap 3 và khung Angular để tạo HTML5. Phần mở rộng cốt lõi của Bootstrap 3 rất giống với Angular; tuy nhiên, nó không phụ thuộc vào JS, Bootstrap hay JQuery. Giao diện người dùng góc trên thiết bị di động sử dụng lật đổ.js và fastclick.js để có được trải nghiệm di động cho tất cả những người sử dụng nó.

Intel XDK đi kèm với một bộ công cụ hoàn chỉnh dùng để phát triển, thử nghiệm và mô phỏng, gỡ lỗi và xuất bản các ứng dụng lai HTML5 đa nền tảng. Đây cũng là một framework mã nguồn mở được Tập đoàn Intel hỗ trợ. Các chủ đề được cung cấp bởi Framework này hỗ trợ Android, Windows, Blackberry, v.v.

Giao diện người dùng Onsen là một Framework tương đối mới; tuy nhiên, nó mang lại thách thức cho các nền tảng nặng hiện có, đặc biệt là đối với Ionic. Nó là một nền tảng nguồn mở được cung cấp theo giấy phép Apache. Đối với hầu hết các thành phần giao diện người dùng, các chỉ thị Angular và khung cấp cao nhất được sử dụng.

M Project, Khung JavaScript HTML5 dành cho thiết bị di động, được sử dụng để xây dựng các ứng dụng web trên nhiều thiết bị di động được cài đặt trên Backbone.js. Dễ dàng tích hợp với PhoneGap để hỗ trợ tạo ứng dụng là một trong những tính năng chính của nó. Framework đơn giản này được sử dụng để phát triển ứng dụng nhanh chóng.

Về cơ bản là một ứng dụng di động HTML nguồn mở, Jo dễ dàng tích hợp với PhoneGap và Cordova để phát triển ứng dụng. Có thể tự do sử dụng framework mã nguồn mở, cũng có thể giúp thay đổi vẻ bề ngoài các ứng dụng sử dụng CSS.

Đã đến lúc nói về sự phát triển của ứng dụng di động. Để hiểu cách hoạt động của hầu hết các ứng dụng, bạn không cần phải có kiến ​​thức sâu về lĩnh vực này. Chỉ cần hiểu cách HTML, CSS và JavaScript hoạt động là đủ. Sử dụng công nghệ web, các ứng dụng được tạo ra có thể chạy trên nền tảng khác nhau, không giống như các ứng dụng gốc.

Ngày nay, có nhiều công cụ và framework khác nhau giúp chúng ta tạo các ứng dụng di động mà không gặp nhiều khó khăn.

Trong bài viết này chúng ta sẽ xem xét 7 framework hàng đầu như vậy.

IONIC là một trong những framework hứa hẹn nhất cho các ứng dụng di động trên Dựa trên HTML 5. Được xây dựng bằng SASS, cung cấp một số lượng lớn Các thành phần giao diện người dùng cho phép bạn tạo ứng dụng tương tác. Dùng để khởi chạy ứng dụng Khung JavaScript MVVM và AngularJS. Việc ghim dữ liệu hai chiều, tương tác với các dịch vụ phụ trợ và API khiến AngularJS trở nên phổ biến nhất trong số các nhà phát triển ứng dụng. Không còn nghi ngờ gì nữa, nó sẽ còn trở nên phổ biến hơn sau khi phát hành phiên bản mới AngularJS 2.0, ưu tiên thiết bị di động.

Nhóm IONIC sẽ sớm trình bày trợ lý mới trong việc tạo ra các ứng dụng IONIC được gọi là “IONIC Creator”. Nó sẽ sớm được công bố và sẽ hỗ trợ kéo và thả, giúp việc tạo ứng dụng nhanh hơn nhiều.

Để hiểu rõ hơn về IONIC, bạn có thể đọc các bài viết về cách bắt đầu với ứng dụng di động và phát triển trò chơi dựa trên Firefox OS.

Mobile Angular UI là một framework dựa trên HTML 5 sử dụng bootstrap 3 và AngularJS để tạo các ứng dụng di động tương tác.

Các tính năng chính của Mobile AngularUI bao gồm:

  • Khởi động 3
  • AngularJS
  • Các thành phần di động của Bootstrap 3 như phân nhánh, lớp phủ và thanh bên không có trong bootstrap thông thường.
  • Các mô-đun AngularJS như tuyến đường góc, cảm ứng góc và hoạt hình góc.

Truy vấn phương tiện phản hồi được tách khỏi chương trình khởi động và tất cả những gì bạn phải làm là chọn những gì bạn cần. Mobile Angular UI độc lập với jQuery, vì vậy tất cả những gì bạn cần để tạo một ứng dụng di động là một số lệnh AngularJS.

Để xem Mobile Angular UI đang hoạt động, hãy xem trang demo. Chúng tôi cũng khuyên bạn nên đọc hướng dẫn về cách bắt đầu với Mobile Angular UI.

Intel XDK là sự phát triển đa nền tảng của Intel. Nó khá dễ làm việc, bạn chỉ cần tải xuống Những ứng dụng miễn phí, tương thích với Linux, Windows và Mac. Nó chứa nhiều mẫu để giúp bạn bắt đầu và hỗ trợ các khung giao diện người dùng như Khởi động Twitter, jQuery Mobile và Topcoat.

Intel XDK cung cấp xem trước trong thời gian thực trên thiết bị được kết nối của bạn, trong khi bạn có thể khám phá các công cụ thú vị khác.

Theo chúng tôi, Intel XDK là dễ sử dụng nhất. Nó sử dụng tính năng kéo và thả, giúp tránh được nhiều công việc khó khăn.

Trong phần giới thiệu cách làm việc với Intel XDK, bạn sẽ tìm thấy một lượng lớn tài liệu đào tạo về cách làm việc với nền tảng này.

Appcelerator Titanium là một tài nguyên mở dành cho các khung ứng dụng di động, cung cấp một khung để tạo các ứng dụng gốc cho nhiều nền tảng di động.

Titanium là một sự phát triển tuyệt vời, trong đó bạn sẽ tìm thấy mọi thứ bạn cần để tạo các ứng dụng di động lai. Để làm việc với Titanium, hãy tải xuống Titanium studio. Titanium SDK chứa một số API nền tảng và dịch vụ Đám mây hoạt động như bộ lưu trữ. Nó đi kèm với một nền tảng API độc lập giúp bạn dễ dàng truy cập trên thiết bị di động.

Titanium sử dụng Alloy, một framework MVC để tăng tốc các ứng dụng di động. Các mô-đun được tạo bằng Hợp kim dễ dàng tái sử dụng trên nhiều ứng dụng, do đó giảm đáng kể thời gian chạy và dòng mã.

Studio Titanium chứa một số ví dụ về mã và chúng tôi hy vọng sẽ sớm có video đào tạo về SitePoint.

Sencha Touch là một khung HTML 5 để tạo ứng dụng cho các nền tảng như iOS, Android và Blackberry, v.v. Nó đã xuất hiện được vài năm nhưng gần đây mới trở nên phổ biến đối với các nhà phát triển ứng dụng di động lai.

Sencha Touch tiến bộ hơn đối thủ khi tạo ứng dụng gốc cho nhiều nền tảng khác nhau.

Làm việc với nó cũng không khó nhưng để đạt được hiệu quả tốt nhất thì bạn sẽ phải mất khá nhiều thời gian.

Để đánh giá đầy đủ lợi ích của Sencha Touch, hãy xem mã mẫu trên trang web chính thức.

Giao diện người dùng Kendo của Telerik - Khung HTML 5 để tạo các ứng dụng di động đa nền tảng. Giao diện người dùng Kendo chủ yếu dựa vào jQuery và chứa một số tiện ích dựa trên jQuery.

Không khó để làm việc với anh ấy. Các nhà phát triển quen thuộc với jQuery sẽ đánh giá cao sự dễ dàng khi làm việc với Kendo UI. Giao diện người dùng Kendo có nguồn tài nguyên mở gồm các công cụ và khung JavaScript.

Tuy nhiên, hầu hết các vật dụng được sử dụng vẫn chỉ có sẵn theo giấy phép thương mại.

Xem tài liệu chính thứcđể làm việc với giao diện người dùng Kendo. Ở đó bạn sẽ tìm thấy các video hướng dẫn giúp bạn tìm hiểu khuôn khổ này.

PhoneGap nằm ngoài danh sách của chúng tôi một chút vì nó không phải là một khuôn khổ để tạo một ứng dụng mà để đóng gói và phát hành nó. Chương trình trả phí PhoneGap là Cordova mã nguồn mở và thuộc sở hữu của Adobe. Phổ biến trong số nhiều nhà phát triển ứng dụng di động.

Để làm việc với PhoneGap, bạn có thể chọn giữa các khung JavaScript hoặc UI. Sự kết hợp giữa jQuery Mobile và KnockOut.js hoặc AngularJS là tốt. Khi bạn đã hoàn tất mã, PhoneGap sẽ hoàn thành tất cả công việc còn lại trên nền tảng mà bạn đang làm việc. Các ứng dụng được xây dựng bằng PhoneGap sử dụng chế độ xem web để cung cấp nội dung. PhoneGap chứa đặt tối thiểu API web để truy cập các khả năng của thiết bị di động và cho phép bạn viết các plugin được yêu cầu.

Bạn sẽ tìm thấy hướng dẫn làm việc với PhoneGap.

Thưởng

Ứng dụng.js - Thư viện JavaScriptđể tạo ra các ứng dụng di động. Khung này, không giống như các khung khác, không sử dụng AngularJS. Nó cung cấp một số chủ đề và vật dụng cơ bản. Bạn có thể viết một ứng dụng bằng zepto hoặc jQuery.

Phần kết luận

Trong bài viết này, chúng tôi đã xem xét một số framework di động tốt nhất Ứng dụng HTML 5. HTML di động 5 đang phát triển tốt và cung cấp những lựa chọn mới mỗi ngày. Bạn thích framework nào hơn? Chia sẻ trong các ý kiến.

Phát triển ứng dụng lai

Bài viết cung cấp thông tin cơ bản về ứng dụng lai cho hệ điều hành di động, lấy hệ điều hành đó làm ví dụ. Hệ thống Android. Những ưu điểm và nhược điểm chính được xem xét, đặc điểm chung và sự khác biệt giữa ứng dụng di động gốc và ứng dụng di động lai cũng như các yếu tố cần thiết của ứng dụng lai.

Máy tính xách tay, Máy tính bảng, sách điện tử, điện thoại thông minh - đây chỉ là một phần danh sách các thiết bị di động mà mọi người sử dụng hàng ngày cho công việc, học tập, liên lạc và giải trí. Tuy nhiên, các thiết bị này thường được quản lý bởi hệ điều hành (OS) riêng (iOS, Android, Windows Phone, BlackBerry, v.v.). Điều này tạo ra những bất tiện nhất định trong việc trao đổi thông tin giữa họ thông qua các ứng dụng cài sẵn.

Để tạo một ứng dụng di động tích hợp cho bất kỳ HĐH nào, bạn cần học ngôn ngữ lập trình cũng như SDK - bộ phát triển phần mềm - gói phát triển chuyên biệt có tính đến các tính năng của một hệ điều hành di động cụ thể. Ví dụ: để tạo một ứng dụng di động tích hợp cho hệ điều hành, bạn cần biết ngôn ngữ Lập trình Java và gói SDK Android. Điều kiện nàyáp đặt hạn chế nhất địnhđối với những nhà phát triển phải chọn một hướng đi nhất định để làm việc.

Giải pháp cho vấn đề này một mặt có thể coi là tạo ra các ứng dụng web, tùy chọn này quen thuộc với các nhà phát triển web sử dụng HTML, PHP và JavaScript trong công việc của họ. Nói cách khác loại nàyứng dụng là một dịch vụ web trên Internet. Để sử dụng nó, người dùng cần mở trình duyệt web trên thiết bị di động của mình, nhập địa chỉ trang web vào thanh địa chỉ và bắt đầu sử dụng dịch vụ. Thuật toán trên thường rất bất tiện.

Hai công nghệ này đều có những ưu điểm và ưu điểm riêng. Các ứng dụng tích hợp được tải xuống một lần từ kho ứng dụng công cộng và trong tương lai không yêu cầu kết nối Internet, nhưng mặt khác, như đã đề cập ở trên, quá trình tạo các ứng dụng tích hợp cho các hệ điều hành di động khác nhau là một quá trình công việc phức tạp và tốn nhiều công sức. Các ứng dụng web đa nền tảng và chỉ yêu cầu trình duyệt web và kết nối Internet. Mặt khác, những ứng dụng như vậy có quyền truy cập hạn chế đáng kể vào tài nguyên bên trong của thiết bị.

Ứng dụng di động lai là một giải pháp độc đáo. Để tạo chúng, bạn cần có kiến ​​thức tối thiểu về các ứng dụng di động tích hợp và Android cũng như kiến ​​thức về công nghệ web. Các ứng dụng lai, như ứng dụng web, được lập trình bằng công nghệ web nhưng được đóng gói dưới dạng ứng dụng nhúng. Các ứng dụng di động này được phân phối thông qua các cửa hàng ứng dụng công cộng, giống như các ứng dụng tích hợp sẵn. Không giống như các ứng dụng web, chúng có quyền truy cập trực tiếp vào tài nguyên của thiết bị di động, điều này khiến chúng có nhiều chức năng hơn.

Công cụ phổ biến nhất để phát triển các ứng dụng di động lai là nền tảng phần mềm PhoneGap. Đây là một framework mã nguồn mở miễn phí để tạo các ứng dụng di động cho phép bạn tạo ứng dụng cho thiết bị di động bằng JavaScript, HTML5 và CSS3 mà không cần phải biết ngôn ngữ lập trình “gốc” cho tất cả các hệ điều hành di động. Công cụ PhoneGap mở rộng API trình duyệt và thêm các tính năng sau: truy cập vào gia tốc kế, truy cập vào máy ảnh, la bàn, danh sách liên lạc, ghi và nghe các tệp âm thanh, cung cấp quyền truy cập vào hệ thống tập tin, cho phép bạn làm việc với các kho lưu trữ HTML5 localStorage, Web SQL khác nhau và cho phép bạn truy cập dễ dàng bất kỳ địa chỉ tên miền chéo nào.

PhoneGap cung cấp một bộ giao diện JavaScript để truy cập nhiều tính năng của thiết bị không có sẵn trên trình duyệt Web di động dành cho các ứng dụng Web thông thường. Điều này đạt được bằng cách sử dụng một ứng dụng Web bên trong một trình bao bọc tích hợp sẵn. PhoneGap kết hợp mã ứng dụng Web với trình kết xuất trình duyệt của thiết bị để tạo ra một ứng dụng gốc có thể được triển khai vào kho ứng dụng và cài đặt trên thiết bị.

Ngoài ra, chức năng cơ bản của PhoneGap có thể được mở rộng bằng cách sử dụng các plugin bổ sung từ kho lưu trữ đặc biệt. Hiện nay có một bộ plugin dành cho 4 hệ điều hành: iOS, Anfroid, BlackBerry và Palm.

Ngoài nền tảng dành cho ứng dụng di động, PhoneGap còn cung cấp quyền truy cập vào “đám mây” của nó, trong đó bạn có thể tập hợp một dự án và tải nó xuống thiết bị di động của mình tập tin thực thi. Để truy cập “đám mây”, bạn cần đăng ký trên trang web chính thức của PhoneGap Build và sau đó, “bộ sưu tập” chương trình trực tuyến sẽ có sẵn. Phẩm giá của dịch vụ này là tính sẵn có chung của nó và một thư viện lớn về các phát triển nguồn mở từ những người dùng khác. Mặt khác, ưu điểm này cũng là nhược điểm. Thực tế là trong phiên bản miễn phí của dịch vụ, chỉ có sẵn tập hợp các ứng dụng nguồn mở, tức là. Sau khi được xây dựng, mã ứng dụng của bạn sẽ được xuất bản trong thư viện ứng dụng và có sẵn cho các nhà phát triển khác dưới dạng Mã nguồn mở dự án. Xây dựng ứng dụng với mã đóng chỉ có ở Phiên bản trả tiền dịch vụ.

PhoneGap là một framework cho phép bạn “làm lại” một trang web và biến nó thành một ứng dụng tích hợp có điều kiện. Nhờ sử dụng giao diện JavaScript tích hợp, quyền truy cập vào nhiều chức năng của thiết bị không có sẵn trên thiết bị di động được cung cấp. Trình duyệt web. Khi sử dụng chức năng PhoneGap, bạn có thể mở rộng đáng kể chức năng của dịch vụ web nhưng nó vẫn sẽ là một tài nguyên trên Internet. Để một dịch vụ web trở thành một ứng dụng di động, cũng cần phải tạo một giao diện di động sẽ là một phần của ứng dụng tích hợp sẵn. Có rất nhiều framework để tạo giao diện di động. Một khuôn khổ như vậy là Dojo.

võ đường

Các thành phần giao diện Dojo là các gói được hình thành từ các thành phần: mã JavaScript, đánh dấu HTML và CSS. Trên thực tế, chúng không phải là các phần tử View “gốc” dành cho ứng dụng Android; chúng vẫn là các phần tử web giống nhau nhưng được điều chỉnh và tạo kiểu đặc biệt cho thiết bị di động. Do đó, người dùng có được cảm giác hoàn toàn như đang làm việc với một ứng dụng di động tích hợp sẵn.

Các phần của gói Dojo có thể được sử dụng để thêm các tính năng tương tác trang mạng:

  • menu, dấu trang, chú giải công cụ;
  • ngày, giờ, bộ chọn đồng hồ;
  • bảng có thể sắp xếp, biểu đồ động, đồ họa vector 2D;
  • Các phần tử giao diện “cây” có khả năng kéo và thả (các tập hợp lồng nhau);
  • Biên tập soạn thảo văn bản;
  • hiệu ứng hoạt hình và xây dựng hiệu ứng của riêng bạn.

Do đó, PhoneGap điều chỉnh trang web cho phù hợp với thiết bị di động và sử dụng các thành phần giao diện Dojo, làm cho nó trông giống như một ứng dụng tích hợp sẵn, vì vậy thành phần chính của phần tích hợp sẵn là Ứng dụng Android sẽ là một Webview, tức là một trình duyệt web tích hợp trong một ứng dụng di động đơn giản. Để tạo các ứng dụng lai, phần tích hợp sẵn của nó, các nhà phát triển hệ điều hành di động Android khuyên bạn nên sử dụng môi trường phát triển Eclipse.

Giống như đối với ứng dụng nhúng thông thường, đối với ứng dụng lai Android tiêu chuẩn Applicatoin là một dự án bổ sung thêm thư viện PhoneGap.jar và một tập hợp các tập lệnh Dojo có trong dự án khi cần ở dạng tệp js.

Sự khác biệt so với dự án tiêu chuẩn là việc sử dụng phương thức Loadurl() trong tệp App.java chính, về nguyên tắc, phương thức này làm cho ứng dụng tích hợp trở thành một phần của ứng dụng lai, tức là. Khi ứng dụng khởi động, dịch vụ web sẽ được tải chứ không phải Hoạt động tích hợp.

Khi phát triển các ứng dụng lai, trước tiên bạn cần tạo một ứng dụng web đơn giản bằng công nghệ web, gỡ lỗi và kiểm tra cẩn thận trong trình duyệt trên máy tính, sau đó bắt đầu điều chỉnh ứng dụng đó cho các thiết bị di động bằng cách tạo một phần tích hợp của ứng dụng.

Khoảng 2 năm trước tôi muốn mua một chiếc micro. Như thường lệ, trước khi mua, tôi đã xem xét một số đánh giá về hầu hết các sản phẩm mô hình phổ biến, tìm hiểu về các đặc điểm phân biệt micrô và truy cập trang web của cửa hàng nơi tôi định mua thiết bị. Lựa chọn của tôi thuộc về mẫu M1 (để loại trừ các cáo buộc về quảng cáo và vị trí sản phẩm, chúng tôi sẽ đổi tên micrô). Model này có hai cấu hình: micrô thông thường và tùy chọn có kết nối USB, đắt hơn. Ngoài ra, hai biến thể này không có gì khác nhau. Được rồi, chúng ta hãy lấy tiền và đi đến cửa hàng. Cả hai mẫu đều đã được trưng bày tại cửa hàng. Tôi bắt gặp cô gái tư vấn và yêu cầu cho tôi xem chiếc micro mà tôi thích. “Bạn có muốn lấy mẫu này không?” cô gái hỏi và chỉ vào phiên bản đắt tiền hơn có cổng USB. “Cô ấy đỡ hơn chưa? Chỉ về mặt âm thanh? Cô gái suy nghĩ một lúc: “Ừ, tất nhiên là tốt hơn rồi!” Lời khuyên của tôi: đừng tin người bán hàng!

Nhưng tin ai đây? Khi chúng tôi muốn mua một sản phẩm hoặc dịch vụ, chúng tôi liên lạc với những người bán, thật không may, họ không phải là chuyên gia trong lĩnh vực này. vấn đề này. Theo tôi, chỉ có một lối thoát trong tình huống này. Hãy tự mình làm mọi việc và ít nhất là hiểu một cách hời hợt vấn đề mà bạn quan tâm hoặc tìm một chuyên gia trong lĩnh vực này và tìm hiểu ý kiến ​​​​của anh ấy. Hãy làm điều đó thôi. Câu hỏi mà chúng ta sẽ hiểu là: “Cái gì tốt hơn – ứng dụng gốc hay ứng dụng lai cho nền tảng di động?”

Lai vs thẳng

Để bắt đầu từ đâu đó, hãy sử dụng một phương pháp đã được thử và đúng - Google vấn đề mà chúng ta quan tâm. Google trả lại hàng tá bài viết được viết như thể chúng là bản sao giấy. Nhiều loại blogger, lập trình viên, nhà quản lý, nhà quảng cáo, mẹ của nhà quảng cáo, bà của nhà quản lý và những người khác “xuất sắc” trong vấn đề này đang cố gắng truyền đạt cho chúng ta những điều sau đây một cách thú vị, cá tính và hài hước:

  1. Có những ứng dụng web thuần túy trông gần giống như ứng dụng gốc. Ví dụ: app.ft.com. Chúng nên được tách ra khỏi những cái lai.
  2. Các ứng dụng web thuần túy không hoạt động nếu không có mạng.
  3. Một quan sát thú vị: nội dung của các ứng dụng web thuần túy dễ tìm kiếm hơn. Chỉ cần nhập truy vấn bạn quan tâm vào công cụ tìm kiếm và nếu Google yêu thích bạn, người dùng sẽ thấy trang web của bạn trên trang đầu tiên của kết quả tìm kiếm.
  4. Một quan sát thú vị khác: lai và ứng dụng gốc phải tuân thủ các quy tắc nhất định để được xuất bản trong AppStore hoặc GooglePlay. Mặt khác, bạn có thể dễ dàng tạo ứng dụng trang web ấm cúng của riêng mình với thiết kế sặc sỡ và bắt mắt mà không ai nói với bạn một lời nào.
  5. Chi phí lao động khi viết ứng dụng kết hợp ít hơn so với ứng dụng gốc vì tất cả mã được viết trên tất cả các nền tảng cùng một lúc.
  6. Và cần ít nhà phát triển hơn. Hãy tìm một vài người mạnh mẽ biết HTML và JavaScript. Họ sẽ viết mọi thứ cho chúng tôi. Nếu không, hãy tìm tất cả các loại nhà phát triển Java, C#, C++, Objective-C và sau đó trả toàn bộ số tiền này.

  7. Việc hỗ trợ các ứng dụng lai rẻ hơn vì một lần nữa, có vẻ như mã giống nhau cho tất cả các nền tảng. Chúng tôi thay đổi nó ở một nơi - và bạn đã hoàn tất.
  8. Ứng dụng gốc nhanh hơn nhiều so với ứng dụng lai và ứng dụng web.
  9. Ứng dụng gốc có thể hoạt động với tất cả các thành phần của thiết bị, trong khi ứng dụng lai và ứng dụng web có quyền truy cập hạn chế. Ví dụ: quyền truy cập vào máy ảnh trong các ứng dụng gốc là điều hiển nhiên. Nhưng để con lai chụp ảnh bằng máy ảnh của bạn thì bạn cần phải né nó.>
  10. Khi phát triển các ứng dụng gốc, chúng tôi nhận được giao diện người dùng gốc cho từng nền tảng. Kết hợp và web không thể làm điều này.

Chúng tôi xé vỏ

Có vẻ như bây giờ chúng ta đã biết sự khác biệt giữa ứng dụng lai và ứng dụng gốc. Lúc này, bạn có thể bình tĩnh hoàn thành bài viết và bắt tay vào công việc - đi viết mã. Nhưng không! Chúng tôi nhớ: “Đừng tin người bán!” Và hầu hết những người viết ra những quan điểm này đều là người bán hàng, dưới hình thức này hay hình thức khác. Vì vậy, chúng ta hãy tìm hiểu thêm.

Ứng dụng web

Tất nhiên, ý tưởng về một trang web trông giống như một ứng dụng rất thú vị. Cách tiếp cận này có cả nhược điểm và ưu điểm nhất định. Nhưng có một câu hỏi lớn: “Tại sao?” Hãy tưởng tượng bạn là người dùng không bị gánh nặng về kiến ​​thức đặc biệt về công nghệ CNTT. Bạn mở một trang web nào đó và... Ôi Chúa ơi! Ứng dụng của tôi đã mở! Ác quỷ! Chắc là một loại virus nào đó! Nhưng chờ đã, tại sao dòng trình duyệt lại hiển thị? Đây có phải là một trang web hay cái gì đó? Hay nó vẫn là một ứng dụng? Hmm, nó không có trong danh sách cài đặt. Nó hoạt động cực kỳ chậm. Tôi sẽ cài đặt nó tốt hơn ứng dụng bình thường, nhưng không hiểu đây là gì.

Nói chung, ý nghĩa của tất cả sự bắt chước này không hoàn toàn rõ ràng. Tại sao lại đánh lừa người dùng? Rốt cuộc, ai đó có thể tin rằng đây là một ứng dụng và mong đợi hành vi phù hợp với ứng dụng thường xuyên. Tôi xin đưa ra sự so sánh sau: chúng ta hãy tìm một viên đá khỏe mạnh hình tròn và sơn nó trông giống như một quả bóng đá. Và sau đó chúng tôi sẽ hỏi cầu thủ bóng đá tương lai đầu tiên bị gãy chân về ấn tượng của anh ấy về động thái thiết kế ban đầu của chúng tôi.

Giống lai

Từ kinh nghiệm với PhoneGap và các framework khác loại này Tôi không có nhiều, vì vậy tôi quyết định thảo luận vấn đề này với nhà phát triển JS/HTML của chúng tôi, người đã viết chương trình bằng khung PhoneGap. Hóa ra hầu hết các vấn đề được mô tả hiện đã được giải quyết. Trên trang này, Chúa tể đen cải trang hứa với chúng ta rằng giờ đây phản hồi với các cú nhấp chuột sẽ nhanh chóng và không gây đau đớn. Có một toa xe và một xe đẩy nhỏ chứa nhiều plugin khác nhau cho phép bạn truy cập hệ thống khác nhau Thiết bị mục tiêu. Và nếu thiếu thứ gì đó, bạn có thể viết plugin của riêng mình. Và có vẻ như đây rồi - một giải pháp tuyệt vời để phát triển ứng dụng di động đa nền tảng! Nhưng chúng ta hãy suy nghĩ sâu hơn về vấn đề này.

Những viên thuốc thần kỳ - plugin giải quyết mọi vấn đề này là gì? Có lẽ đây là một loại phép thuật? Thật không may, không có phép thuật trong thế giới của chúng ta. Ít nhất là trong lĩnh vực CNTT. Plugin là trình bao bọc JavaScript trên mã Android hoặc iOS gốc. Vì vậy, về cơ bản, PhoneGap là một GUI thực sự là một ứng dụng web chạy trong WebView. Phần logic của chương trình, được thực thi bằng cách sử dụng các plugin, thực chất là các lệnh gọi đến mã gốc thông qua JavaScript, tương tác với thiết bị. Bây giờ, khi biết các thành phần của ứng dụng fongap, chúng ta có thể suy đoán về cách thức hoạt động của nó.

  1. Bạn biết gì về nỗi đau? WebView cho Phiên bản Android 4.3 cực kỳ chậm khi bạn cần hiển thị thứ gì đó phức tạp hơn thông tin văn bản một chút. Ở phiên bản 4.4, công cụ dành cho WebView đã trở thành Chrome nên có lẽ điều này sẽ cải thiện được tình hình một chút. Nói chung, đối với tất cả những người thích phong cách và đồng loại của họ, điều này có nghĩa là đau đớn và khổ sở khi cố gắng chạy một ứng dụng trên Android. Trên iOS, tình huống này tốt hơn nhiều vì công cụ Safari hoạt động tốt hơn.
  2. - Xin lỗi, bạn có phải là phụ nữ không? “Anh sẽ là bất cứ thứ gì em muốn, em yêu.” Tùy thuộc vào thiết bị, các ứng dụng có thể được sử dụng cho giao diện những phong cách khác. Tất nhiên, điều này không tệ nhưng nó không làm thay đổi tính logic của thiết kế. Có nút “Quay lại” trên iOS, nghĩa là nó cũng sẽ có trên Android. Và không có vấn đề gì khi không ai cần cô ấy ở đó. Một ví dụ khác là Actionbar. Trên iOS, theo truyền thống, nó nằm ở cuối màn hình, trên Android, nó nằm ở đầu màn hình. Trong ứng dụng PhoneGap, Actiobar của bạn sẽ không thay đổi vị trí tùy theo thiết bị, nó sẽ trông khác nhau. Và một điều nữa: mỗi OC đều có những tính năng nhất định. Ví dụ như hoạt hình. Hãy nhìn vào iOS và Android. Hoạt ảnh chuyển tiếp giữa các màn hình. Cô ấy khác biệt! Các ứng dụng lai sẽ không thể sao chép các tính năng này.
  3. Sự tàn phá không phải ở tủ quần áo mà ở trong đầu. Khác yếu tố quan trọng, mà vì lý do nào đó không ai tính đến. Các nhà phát triển trên PhoneGap thường là nhà phát triển front-end. Họ không biết giao diện của Android hoặc iOS sẽ trông như thế nào vì họ chưa đọc hướng dẫn về phong cách. Họ không biết gì về các tính năng của nền tảng vì họ chưa đọc tài liệu. Nhưng họ rất giỏi làm trang web. Theo đó, bạn sẽ nhận được một ứng dụng tương tự như trang web. Bạn có cần nó không? Bạn có thực sự cần nó? Nhìn vào bức tranh này? Bạn vẫn tự tin vào sự lựa chọn của mình chứ?
  1. Người lùn? Đó là bạn? Bên cạnh các plugin. Đây chỉ là những đoạn mã giải quyết một số vấn đề. Bạn cũng có thể sử dụng chúng trong một ứng dụng gốc. Vấn đề là ứng dụng của bạn thường phải giải quyết các vấn đề hơi khác một chút so với những vấn đề mà các đoạn mã này giải quyết. Tức là chúng sẽ cần được thay đổi, nhưng ai sẽ làm việc đó? Nhà phát triển của bạn chỉ biết JavaScript và HTML. Một điểm tinh tế khác là sự kết hợp các plugin từ nhà phát triển khác nhau. Nếu các plugin hoạt động trong các lĩnh vực liên quan, chúng có thể sử dụng các thành phần tương tự. Điều này có thể dẫn đến tác dụng phụ thú vị. Và viên đá cuối cùng trong khu vườn plugin: một số trong số chúng không đặc biệt phổ biến và do đó, được thử nghiệm kém. Hãy chuẩn bị cho việc chính bạn sẽ phải đóng vai trò là người thử nghiệm.

Nói chung là tôi muốn nói gì? Đa nền tảng trong trong trường hợp này tưởng tượng, và các ứng dụng sẽ trông lạ. Tôi nghĩ các ứng dụng kết hợp nên được sử dụng làm nguyên mẫu để bạn có thể đánh giá phản ứng của người dùng đối với ý tưởng của mình và nhận một số phản hồi. Đối với phiên bản sản xuất, tốt hơn hết bạn nên sử dụng các ứng dụng gốc. Những cân nhắc này có liên quan đến tất cả các kết hợp hoạt động trên sự kết hợp của HTML/JS.

Tự nhiên

Tôi sẽ không viết bất cứ điều gì đặc biệt về người bản xứ. Mọi thứ đều rõ ràng ở đây. Họ làm việc nhanh, trông đẹp, nhiều cơ hội tùy biến. Và họ có giá tương ứng. Mặc dù ba điểm đầu tiên chỉ có liên quan nếu bạn chưa thuê một đội ngũ chuyên gia giỏi với bảy năm kinh nghiệm từ New Delhi.

Thực sự đa nền tảng

Theo tôi, framework duy nhất thực sự có thể cho phép bạn viết ứng dụng di động đa nền tảng vào lúc này là C++ Qt. Khung này tạo mã Android gốc với sử dụng Android NDK. Do đó, hiệu suất phải ở mức mã do lập trình viên viết bằng SDK Android và đối với các đoạn sử dụng tính toán nặng thậm chí còn cao hơn - do NDK. Qt là một thư viện đã được thử nghiệm, chất lượng cao. Điều này có nghĩa là bạn sẽ không mắc phải bất kỳ lỗi ngu ngốc nào trong quá trình này. Trong trường hợp có bất kỳ vấn đề nào, bạn có thể xem các nguồn Qt. Đây thực sự là một tính năng rất cần thiết cho các nhà phát triển. Trong một số trường hợp, đây là cách duy nhất để khắc phục lỗi. Để có được chương trình nền tảng mục tiêu(Android hoặc iOS), bạn chỉ cần biên dịch lại nguồn. Mặc dù, theo như tôi biết, đôi khi bạn vẫn phải viết mã gốc cho nền tảng vì không phải tất cả các tính năng đều có sẵn thông qua thư viện Qt. Hy vọng điều này sẽ được khắc phục sớm.

Nhưng cũng có những nhược điểm. Để phát triển sản xuất, bạn sẽ phải mua giấy phép Qt - do đó, sẽ tốn tiền. Đây là một vấn đề nghiêm trọng đối với các nhà phát triển mới. Ngoài ra, hiện tại, Qt cho phát triển điện thoại di động vẫn ẩm ướt. Chúng tôi đang chờ đợi các phiên bản tiếp theo.

Phần kết luận

Hiện tại, không có công cụ nào có thể được gọi là môi trường đa nền tảng thực sự để phát triển ứng dụng di động. Có lẽ trong tương lai nơi này sẽ bị Qt chiếm giữ, nhưng hiện tại nó đang bị bỏ trống. Để kiểm tra ý tưởng của bạn bằng cách phát triển một nguyên mẫu, bạn có thể dễ dàng sử dụng nhiều khung công tác JS/HTML khác nhau, nhưng tôi không khuyên bạn nên sử dụng chúng để phát triển các ứng dụng sản xuất phức tạp. Trong lĩnh vực phát triển này, hiện tại không có giải pháp thay thế nào cho các ứng dụng gốc.