2017-04-21 19 views
6

Đối với một dự án đại học, nhóm của tôi đã lên kế hoạch tạo một ứng dụng nhắn tin trên đám mây cho Android. Ban đầu chúng tôi bắt đầu phát triển bằng cách nghiên cứu và sử dụng Ionic Framework và Phonegap để tạo ra một ứng dụng Hybrid.Ứng dụng Hybrid Mobile thường được coi là kém hơn so với ứng dụng Gốc bởi các nhà phát triển trong ngành công nghệ cao?

Dựa trên những gì chúng tôi đã đọc và học cho đến nay những gì chúng tôi hiểu là với phát triển ứng dụng Hybrid cho phép chúng tôi viết mã bằng công nghệ web (HTML, CSS Javascript) mà chúng tôi khá quen thuộc trong thời gian ít hơn so với xây dựng ứng dụng Gốc . Nó cũng có lợi thế là chạy trên nhiều nền tảng với tinh chỉnh rất nhỏ.

Nhưng khi chúng tôi tiến lên, chúng tôi nhận được một số phản hồi lạ từ nhiều đồng nghiệp và những người trong lĩnh vực mà tất cả đều chỉ ra một điều; một sự ngờ vực chung và nghi ngờ về ứng dụng Hybrid.

Cuối cùng, chúng tôi quyết định chọn ứng dụng Gốc do phản hồi này trong số các lý do khác nhưng nó luôn làm phiền chúng tôi tại sao mọi người lại cảm thấy như vậy.

Trả lời

2

Vâng, tình cảm chung là ứng dụng Hybrid kém hơn ứng dụng Gốc. Trong khi điều này có thể bực bội cho các nhà phát triển quen thuộc hơn với các công nghệ web, nó không đi kèm với lý do chính đáng:

  1. Không có khả năng tương tác với các thành phần có nguồn gốc: Mặc dù các plugin như cordova-plugin-statusbar tồn tại, có những hạn chế tương tác với và thao tác bản địa các thành phần sử dụng công nghệ web. Một vấn đề lớn (và bực bội) mà cá nhân tôi gặp phải là không có đầu vào ở đầu bàn phím khi bàn phím hoạt ảnh. Điều này nghe có vẻ không phát hành cho đến khi bạn xem một ứng dụng nơi đây là một tính năng cần thiết như trong một ứng dụng trò chuyện như Slack.
  2. Trì hoãn 300ms: Mặc dù các trình duyệt hiện đại bắt đầu phase this out, phần của thời gian trễ thứ hai trên ứng dụng lai khiến ứng dụng cảm thấy chậm và không phải gốc. Vấn đề này đang trở nên ít yếu tố hơn khi nhiều người dùng áp dụng giải pháp thay thế như FastClick.js và một số khung như Ionic loại bỏ nó theo mặc định.
  3. Những người ghét phải đúng (loại): Trong khi phát triển ứng dụng Hybrid đã đi một chặng đường dài, vẫn có những trục trặc nhỏ và chức năng trễ không có trong ứng dụng Gốc. Chuyển đổi màn hình, chuyển đổi ứng dụng và tuổi thọ pin vẫn là các khu vực phổ biến để các lỗi xuất hiện và có khả năng sẽ xảy ra trong một khoảng thời gian, ngay cả khi chúng bắt đầu trở nên ít hơn và ít đáng chú ý hơn.
  4. Có một số giải pháp gốc tuyệt vời: Với các ngôn ngữ mới hơn như số Swift của Apple, việc mã hóa bằng ngôn ngữ bản địa trở nên dễ dàng hơn. Điều đó đang được nói, các công cụ như React Native rơi vào một khu vực màu xám giữa Native và Hybrid bằng cách cho phép các nhà phát triển viết mã trong các công nghệ thân thiện như JavaScript nhưng biên dịch thành mã gốc.

Yếu tố đạo đức của câu chuyện là nó thực sự phụ thuộc vào điều quan trọng đối với trường hợp sử dụng cụ thể của bạn. Các ứng dụng lai đã trở thành một lựa chọn khả thi và không còn là một chương trình phụ đáng xấu hổ nữa. Ngược lại, vẫn còn một số khía cạnh nhỏ trong việc tương tác với UX gốc chưa khả thi trừ ứng dụng Gốc.

Nói chung, tôi khuyên bạn nên lập bản đồ dự án của mình và xác định xem ứng dụng của bạn có cần bất kỳ lợi ích nào của ứng dụng Gốc hay không. Với các công cụ như ứng dụng Ionic View, bạn có thể dễ dàng kết hợp mô hình cơ bản của ứng dụng và thử nghiệm trên thiết bị thực cho dù ứng dụng Hybrid có hoạt động cho bạn hay không.

+0

Quy tắc chung của ngón tay cái mà chúng tôi nhận được khi chọn giữa Hybrid và Native là; nếu chúng ta có kế hoạch làm cho ứng dụng phụ thuộc rất phần cứng và khách hàng nặng, chúng ta chắc chắn nên đi cho người bản xứ. Nếu không, nếu nó chỉ là một ứng dụng mà dữ liệu được lấy từ một máy chủ và hiển thị nó có thể là Hybrid. Mặc dù trong trường hợp này, nó không khác nhiều so với một ứng dụng web. – nuwanjaya

+2

Câu trả lời hay! Re 1: có một plugin cho tất cả mọi thứ. Và nếu không có ai làm được. Tôi tạo ra cái này cho thanh nhập liệu Slack chẳng hạn: https://github.com/EddyVerbruggen/cordova-plugin-native-keyboard (nó thực sự sử dụng thư viện SlackVC!) –

+0

@EddyVerbruggen Cảm ơn! Tôi chỉ xem xét plugin của bạn trong tuần này cho một dự án. Kịp các công việc tuyệt vời! – makinbacon

Các vấn đề liên quan