Các lập trình viên nên lựa chọn code cho web app hay native app? (Phần 2)

Diem Do

Phần 1

 

Sự phát triển của di động

 

Với những nền tảng di động, native app vẫn là lựa chọn đầu tiên bởi vì sự giới hạn tài nguyên của phần cứng. Những yếu tố phát triển điển hình như kích thước màn hình, giao diện người dùng mượt mà, tiếp xúc màn hình và các tính năng độc đáo khác tương phản với môi trường máy tính. Việc sử dụng hệ điều hành iOS hay Android yêu cầu sự trải nghiệm mở rộng kiến thức về Objective-C hay Java.

 

Một tin tốt lành  cho những ai chưa có kinh nghiệm. Theo thông tin được biết, Samsung đang phát triển một hệ điều hành di động mới là Tizen. Nó dựa trên hệ điều hành Linux, cho phép các lập trình viên viết những ứng dụng bằng HTML5.

 

Ngoài ra, các lập trình viên có thể tạo ra các ứng dụng di động bằng HTML5, CSS và JavaScript cho hệ điều hành Firefox, một hệ điều hành di động mới được phát triển bởi Mozilla. Hơn thế nữa, kể từ khi Chrome dẫn đầu, Sundar Pichai tiếp tục đẩy mạnh phát triển Android, ông ấy thúc đẩy sự hội tụ của hai hệ điều hành.

 

Mặc dù tốc độ tăng trưởng nhanh chóng và sự tiêu thụ lớn của công nghệ di động và điện toán đám mây ngày một phát triển nhưng các máy tính để bàn vẫn đang chiếm ưu thế. Giả sử bạn có một ứng dụng tìm kiếm địa điểm cho phép người dùng tìm ra những điểm đỗ xe có sẵn. Dường như không thông minh khi trước tiên bạn phát triển native app cho một trong những nền tảng di động. Điều này cho phép bạn sử dụng những lợi thế của điện thoại thông minh để xây dựng bằng cảm biến địa điểm. Nhưng sau đó, bạn có thể muốn cung cấp quyền gia nhập vào web đến người dùng để truy cập đến những dữ liệu cá nhân, các biểu đồ xu hướng hay các biểu đồ  lịch sử được tạo ra bởi sự khai thác dữ liệu và nhiều việc hơn nữa. Native app trên máy tính để bàn cho phép truy cập mạnh mẽ hơn đến các điểm dữ liệu đó.

 

Đối với các lập trình viên quan trọng là hiểu được Web app và Native app không cần phải có đối tác. Họ có thể là đối tác hợp tác để tạo ra các phần mềm hấp dẫn hơn. Facebook là một ví dụ điển hình, nhận được các lợi ích từ Web app và Native app. Trên website, Facebook cho phép người dùng cài đặt ứng dụng cho máy tính để bàn. Trên nền tảng di động, Facebook Messenger cho Android, iPhone và Windows Phone nâng cao sự giao tiếp trên di động.

 

Tư tưởng phát triển

 

Để phát triển các nền tảng trên máy tính để bàn, có nhiều tùy chọn ngôn ngữ chương trình được biết như là: Java, C#, C/C++, Python, Objective-C và nhiều ngôn ngữ khác. Đối với một số nhà phát triển tinh vi, nó không phải là một vấn đề lớn để thực thi các ứng dụng cho hệ điều hành bằng nhiều ngôn ngữ khác nhau (Linux, Mac X và Windows). Nhưng đối với nhiều lập trình viên, họ phải mất thời gian để làm quen với ngôn ngữ mới. Các lập trình viên cũng biết là mỗi khi hệ điều hành được nâng cấp cũng đồng nghĩa với việc phải học giao diện chương trình ứng dụng mới để   làm cho ứng dụng cảu họ tương thích với hệ điều hành mới. Để giảm chi phí phát triển và duy trì các nền tảng khác nhau, bạn có thể tạo ra những dịch vụ từ xa bằng ngôn ngữ được ưa chuộng. Sau đó triển khai Web app kết hợp HTML5 +JavaScript + CSS cho người dùng truy cập từ bất kỳ hệ điều hành nào.

 

Đối với thị trường di động, gần như iOS và Android đang đứng ở vị trí độc quyền. (Một phương diện đáng chú ý liên quan đến Apple, ngôn ngữ lập trình Swift mới của công ty có thể mang đến cơ hội tốt cho một số lập trình viên. Nếu bạn chưa bao giờ học Objective-C trước đó, Swift có thể là một cơ hội cho bạn để bắt đầu nghiên cứu với một nền tảng mới.) Google cung cấp ART runtime mới- nó có hiệu suất làm việc tốt hơn Dalvik. Khi bạn so sánh giữa Swift và Dalvik, sự khác biệt giữa iOS và Android trở nên thu hẹp hơn, không quá khác biệt. Vì thế, lý do tại sao không tập trung vào chỉ một trong số chúng: hoặc chọn Swift hoặc chọn Java để tạo ra các ứng dụng. Sự xem xét không thể đếm xuể.

 

Tuy nhiên, thật rõ ràng rằng nếu bạn có thể thực thi trên cả hai ứng dụng : Web app và native app, bạn có thể tối đa hóa lợi ích của người dùng thông qua một số nền tảng. Có quá nhiều lập trình viên hiện nay đang bỏ lỡ cơ hội này. Các nhiều vấn đề đang gặp phải liên quan tới máy tính để bàn cũng như lĩnh vực công nghệ di động và công nghệ điện toán đám mây.

 

Chia sẻ bài viết ngay

Nguồn bài viết : sdtimes.com