Có phải tốt hơn để phát triển ứng dụng bằng cách sử dụng một công nghệ nền tảng hoặc công nghệ web cụ thể? [đóng cửa]


8

Tôi tình cờ đọc được một bài viết thú vị vào một ngày khác nói về việc xây dựng các ứng dụng di động bằng Javascript và HTML5. Một điểm thú vị mà họ đưa ra là cách tiếp cận này hoạt động trên nhiều nền tảng, phần cứng khác nhau (ví dụ kích thước màn hình) và phần mềm (ví dụ: iPhone, WP7, Mac, Windows).

Tôi cũng nhận thấy một điều thú vị được đăng trên Trang web Xây dựng của Microsoft cho hội nghị sắp tới của họ. Họ dường như tập trung nhiều vào HTML5 và JavaScript. Có vẻ lý tưởng để phát triển một ứng dụng duy nhất (tất nhiên nó vẫn sẽ yêu cầu sửa đổi nhỏ) và nó hoạt động trên máy tính bảng, PC, thiết bị di động, TV hoặc hầu hết mọi thiết bị có khả năng kết nối internet.

Đây có phải là một xu hướng thay đổi?

Rõ ràng không có gì vui khi học một công nghệ chỉ để tìm ra một năm sau đó nó sẽ ngừng hoạt động. Theo tôi, có vẻ khá khó khăn khi thực hiện một số chức năng nhất định như hoạt hình hoặc liên kết dữ liệu (yêu thích của tôi!) Với HTML5 và JavaScript khi so sánh với Silverlight. Trong trường hợp này, các công cụ một mình làm cho nó trở thành một lựa chọn tốt hơn (Expression Blend và Visual Studio 2010). Mặc dù vậy, tôi lo ngại vì việc làm trên web trở nên dễ dàng hơn mà chỉ vài năm trước dường như không thể.

Vẫn còn một nơi dành cho các công nghệ như Flash và Silverlight khi nói đến việc phát triển các ứng dụng hay chúng ta nên hướng đến các ứng dụng của mình theo hướng các công nghệ dành riêng cho web như HTML5, CSS3 và JavaScript?

Câu trả lời:


9

Sự thay đổi lớn đối với HTML5 / JS đã xuất hiện gần đây với việc giới thiệu khả năng tăng tốc phần cứng trong IE9 và giờ là các trình duyệt khác. Trước đây, bạn không thể có được hiệu suất từ ​​HTML mà bạn có thể làm với Silverlight và Flash. Họ đã truy cập vào phần cứng và HTML thì không.

Phần lớn các trình duyệt di động hỗ trợ HTML5 và các trang web của họ trong các ứng dụng mà Phonegap cũng tận dụng. Vì vậy, trong không gian di động, tùy thuộc vào chính xác số lượng phần cứng bạn muốn sử dụng, HTML5 / CSS3 / JS là một tùy chọn hoàn hảo tốt.

Với Windows 8, sẽ có các ứng dụng HTML5 trong chế độ xem máy tính bảng mới, nhưng các ứng dụng gốc vẫn là phần cốt lõi của trải nghiệm (ví dụ Visual Studio sẽ không phải là HTML5 ... Tôi không nghĩ vậy). Tuy nhiên, vì đánh dấu / JS được tăng tốc phần cứng, giờ đây nó có thể nhanh như mọi ứng dụng gốc.

Theo quan điểm của bạn về việc Flash và Silverlight có vị trí hay không - Giao diện người dùng của Windows Phone 7 dựa trên Silverlight, vì vậy tôi chắc chắn rằng nó sẽ xuất hiện trong một thời gian. Ngoài ra, các công nghệ này vẫn là cách duy nhất để có được trải nghiệm truyền thông web phong phú trên các trình duyệt cũ hơn như IE7, vẫn còn rất nhiều trong thế giới XP. Cho đến khi mọi người dùng bạn muốn xem một cái gì đó không phù hợp, bạn sẽ cần một phương pháp dự phòng. Flash vẫn tuyệt vời cho điều đó với video và đồ họa.


giải thích tuyệt vời. Tôi biết rằng phải có một lý do có một bước nhảy như vậy cho các công nghệ web gần đây và đó là sự tăng tốc phần cứng.
Edward

Các JIT JavaScript tồn tại lâu hơn một chút cũng góp phần tạo ra bước nhảy lớn trong hiệu suất thực thi js.
Erik Reppen

2

IMHO một công nghệ có khả năng tương thích với mọi thiết bị trên thị trường (nếu được triển khai tốt) là cách tốt nhất.

Tính di động luôn là một trong những tính chất quan trọng nhất của các ngôn ngữ thành công như C.

HTML5 cùng với JavaScript và ngôn ngữ phía máy chủ cung cấp cho bạn tất cả những gì bạn cần để phát triển các ứng dụng phong phú (không chỉ web, vì các thông báo mới nhất của Microsoft trên Windows 8 dường như chỉ ra).

Các công nghệ như Flash và Silverlight sẽ luôn có thị trường, nhưng tôi thấy làn sóng lớn đang chuyển sang HTML / JS.

Đối với sự dễ dàng với những điều phức tạp hơn có thể có với Silverlight, đó chỉ là vấn đề thời gian, với HTML5 mới và nhiều khung công tác JS phát triển và ngày càng tốt hơn sau mỗi năm.

Tôi sẽ không nghi ngờ gì khi đầu tư thời gian của mình vào một công nghệ đang phát triển như vậy.


2
Nếu thực hiện tốt Đây là chìa khóa. Chỉ vì nó là một trang web KHÔNG có nghĩa là nó thay thế cho một ứng dụng gốc trên mọi thiết bị. Bố cục cho một thiết bị cảm ứng rất khác so với máy tính để bàn và hầu như sẽ luôn có mã nền tảng cụ thể.
unolysampler

1
... đó là lý do tại sao CSS, JS và HTML được thiết kế đặc biệt để thích ứng với mọi tình huống như vậy. Thay vì viết lại hoàn toàn mã của bạn trên từng nền tảng riêng lẻ bằng ngôn ngữ cụ thể cần thiết, bạn sử dụng một loại phương tiện khác và hầu hết bạn đã sử dụng phương tiện đó.
Ben Brocka

2

Không thể biết cái nào "tốt hơn" trong trường hợp không có yêu cầu và một số ý nghĩa về tài nguyên có sẵn. HTML5 rất tuyệt, nhưng nếu mô hình kinh doanh của bạn phụ thuộc vào mua trong ứng dụng hoặc nếu bạn có một nhóm thông thạo Flash, có thể bạn sẽ chọn một hướng khác. "Tốt nhất" là những gì tốt nhất giải quyết vấn đề cụ thể của bạn. Nó không có nhiều ý nghĩa trong bản tóm tắt.


0

Ý kiến ​​cá nhân của tôi xoay quanh việc đạt được lợi thế tối đa từ cả phía plugin cũng như thao tác HTML / CSS / JS thô.

Tôi bắt đầu thấy một xu hướng thiên về mô hình suy nghĩ của bạn đối với một công nghệ. Thay vì tiếp cận nó theo cách đó, tôi có xu hướng tìm hiểu những ý tưởng đằng sau những thay đổi này.

Thí dụ:

1) Cả HTML5 và silverlight / flash cho phép Canvas. Làm thế nào khác nhau là cách bạn có thể kiểm soát pixel và logic lập trình để tạo trò chơi trong một trong hai?

2) Một kiến ​​thức phổ biến là thông qua các plugin bạn có thể thao tác trực tiếp với DOM của trình duyệt. Làm thế nào dễ dàng để làm cho các plugin vô hình cho việc sử dụng không phổ biến? Bạn có thể sử dụng plugin để nói nhận được lượng dữ liệu khổng lồ không?

Những người làm công cụ tại Microsoft và Adobe sẽ hỗ trợ bạn theo mọi cách có thể để sử dụng sản phẩm của họ. Làm thế nào dễ dàng để có được tham lam với các plugin và ra khỏi các tiêu chuẩn web hộp cộng với các ngôn ngữ kịch bản để đưa ra một giải pháp?

Tôi thấy những suy nghĩ của mình tiến bộ hơn nếu tôi nghĩ dọc theo những đường chấm chấm này. YMMV

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.