HTML5 / JS cuối cùng sẽ thay thế tất cả các ngôn ngữ phía máy khách? [đóng cửa]


12

Tôi chỉ đang tự hỏi về tương lai của tất cả. IMHO, có 4 lực lượng xác định nơi công nghệ đi: Microsoft, Apple, Google, Adobe.

Có vẻ như trong iADs iPhone / iPad của Apple giờ đây có thể được lập trình bằng HTML5. Vậy điều đó có nghĩa là HTML5 cuối cùng sẽ thay thế object-c?

Ngoài ra, Microsoft hiện đã chuyển trọng tâm từ WPF / Silverlight sang HTML5 và tôi cho rằng Visual Studio 2011 sẽ tập trung vào hỗ trợ công cụ cho HTML5. Bởi vì đó là những gì Microsoft làm. (Công cụ). Trong vài tháng nữa, IE9 trình duyệt chính cuối cùng sẽ hỗ trợ HTML5.

Tương tự như vậy, Adobe đang có mặt trên bandwagon HTML5 và cho phép xuất nội dung flash sang HTML5 trong các công cụ mới nhất của họ.

Và tất cả chúng ta đều biết Google trên giường có bao nhiêu với html5. Heck, Hệ điều hành mới nhất của họ (Chrome OS) không gì khác ngoài một trình duyệt web lớn.

Các ứng dụng dành cho thiết bị di động (ví dụ: iPhone, Android, WM7) rất khó để một công ty lập trình đặc biệt là cho nhiều thiết bị khác nhau (mỗi thiết bị có ngôn ngữ riêng) vì vậy tôi cho rằng điều này sẽ không tồn tại quá lâu. Tức là, HTML5 sẽ là ngôn ngữ thống nhất. Điều này hơi buồn cho các nhà phát triển ứng dụng vì giờ đây người dùng sẽ có thể phát các ứng dụng html5 "tuyệt vời" miễn phí trên web và sẽ khó tính phí cho họ.

Vì vậy, các ngôn ngữ được gõ mạnh thực sự sẽ bị tiêu diệt, và trong tương lai, giả sử 5-10 năm, liệu lập trình phía máy khách sẽ chỉ có trong HTML5? Tất cả chúng ta sẽ trở thành lập trình viên javascript? :) Bởi vì các dấu hiệu chắc chắn chỉ theo cách đó ...


1
Những người ủng hộ tăng cường tiến bộ phải được lăn trong mộ của họ bây giờ.
Gio Borje

2
bạn đang nói những lợi ích của việc gõ mạnh sẽ không còn cần thiết nữa?
Aaron Anodide

1
Tôi nghĩ đó sẽ là VS 2012, không phải VS 2011.
DeadMG

6
Nếu đó là trường hợp, tôi sẽ phải tự sát.
Công việc

2
Tôi mệt mỏi vì lo lắng về khả năng tương thích trình duyệt. Thật là trẻ con chết tiệt.
Người đàn ông Muffin

Câu trả lời:


14

Tôi nghĩ thật sai lầm khi đề xuất rằng HTML5 / JS sẽ thay thế TẤT CẢ các ngôn ngữ phía máy khách. Sẽ có rất nhiều ứng dụng đi theo hướng đó trong những năm tới? Vâng, có lẽ. Tất cả bọn họ? Không.

Điểm quan trọng khác cần lưu ý là cảnh quan liên tục thay đổi. HTML5 là một công nghệ tuyệt vời hứa hẹn sẽ giải quyết rất nhiều vấn đề mà các nhà phát triển hiện đang gặp phải khi cố gắng viết các ứng dụng hoạt động đa nền tảng. Chắc chắn, HTML5 / JS có thể giải quyết nhiều vấn đề đó, nhưng bối cảnh sẽ thay đổi và một loạt vấn đề mới sẽ xuất hiện. HTML5 cuối cùng sẽ có vẻ như ngày.

Trong 10 năm, hãy tự hỏi liệu HTML5 / JS có phải là giải pháp cho tất cả các vấn đề không và tôi có thể làm tất cả nhưng đảm bảo câu trả lời sẽ là không. Trong 20 năm, câu hỏi có thể sẽ có vẻ vô lý.


+1 tôi hoàn toàn đồng ý. Nhìn lại lịch sử một chút, "mới nhất và vĩ đại nhất" luôn được thay thế bằng "mới nhất và vĩ đại nhất". Đó là một phần của những gì tuyệt vời về lập trình, nó sẽ luôn phát triển.
Beth Whitezel

mọi thứ phát triển ở các tốc độ khác nhau - như tương tác người dùng máy tính - thẻ bấm, rồi bàn phím, chuột - tôi thường tự hỏi điều gì tiếp theo bởi vì điều đó có thể chứng minh một người thay đổi trò chơi lớn trong ứng dụng khách - phát biểu, 3D - họ thêm vào - nhưng sẽ thay thế bàn phìm chuột? Tôi nghĩ vậy - mặc dù không chắc chắn khi nào.
Aaron Anodide

6

Javascript là một ngôn ngữ lập trình rất kém. Dịch từ các ngôn ngữ lập trình được gõ tĩnh, chẳng hạn như Java với GWT, ngày càng trở nên phổ biến. Javascript có thể trở thành loại ngôn ngữ hợp nhất giống như trình biên dịch chương trình - bạn có thể viết trực tiếp bằng ngôn ngữ đó, nhưng hiếm khi đó là một ý tưởng hay.


1
Không biết về các ngôn ngữ được nhập tĩnh, nhưng nếu bạn ném jQuery hoặc MooTools hoặc những thứ tương tự vào đó, tôi sẽ đồng ý với bạn :)
Damovisa

8
Tôi không đồng ý với bạn rằng JavaScript là ngôn ngữ kém, điều này hoàn toàn không đúng! :) Vì dường như có rất nhiều lập trình viên lười biếng biết Java hoặc các ngôn ngữ phía máy chủ khác trong nhiều năm và họ không muốn cải thiện bản thân bằng cách học các ngôn ngữ mới và họ nói JavaScript rất kém: D Đó là lý do tại sao có quá nhiều công cụ và các khung để tạo JavaScript với các ngôn ngữ phía máy chủ! JavaScript không phải là một đồ chơi web, nó là một ngôn ngữ thực sự!
Zango

Tôi cũng không đồng ý. Tôi tin rằng đó là một nhận xét không đúng chỗ khi nói như vậy về JavaScript. Nhiều chuyên gia và sản phẩm thành công sẽ không đồng ý. Thời gian là thử nghiệm tốt nhất và cho đến nay, JS đang làm rất tốt thời tiết của đồng hồ công nghệ.

Tôi không thể tưởng tượng được tại sao tôi thích viết 50 dòng Java, hy vọng rằng sự thay đổi của tôi có thể được hoán đổi, khi tôi có thể viết mười dòng Javascript và chỉ cần tải lại trang. Hoặc khởi động lại máy chủ web đã bị loại bỏ khi tôi không tìm kiếm?
kevin cline

5
Tôi đã viết phần mềm thương mại bằng khoảng một tá ngôn ngữ trong suốt sự nghiệp của mình và tôi viết JavaScript hàng ngày. JavaScript là một ngôn ngữ hợp lý khi nó được phát minh và triển khai trong vài tuần vào năm 1995. Mặc dù vậy, tôi không thể hiểu những người xin lỗi JavaScript. Nó có những sai sót nghiêm trọng đòi hỏi các lập trình viên có trách nhiệm phải tránh hoàn toàn các tính năng ngôn ngữ nhất định và sử dụng các tính năng khác theo những cách không nhằm mục đích ban đầu để cung cấp chức năng bị thiếu. Có lẽ họ không sử dụng nó cho các dự án lớn? Tôi đã thấy rằng việc sử dụng nó cho các hệ thống lớn với nhiều lập trình viên là tương đối khó khăn.
Peter ALLenWebb

1

Đúng.

Đây là lý do tại sao. Các ứng dụng bao gồm mã giao diện người dùng và dữ liệu phụ trợ. Mã giao diện người dùng được chạy trong HTML5 / CSS3 / Javascript. Mã back-end có thể là độc quyền và chạy ở bất kỳ ngôn ngữ nào. Hơn nữa, jQTouch và các thư viện tương tự có thể được sử dụng để mô phỏng các giao diện người dùng giống iPhone nhưng nguồn mở và được viết bằng Javascript / HTML5 / CSS. jQTouch đã chỉ ra rằng nếu trình duyệt cung cấp cho các lập trình viên JS quyền truy cập vào các sự kiện UI của thiết bị, các lập trình viên JS sẽ mô phỏng bất kỳ kiểu UI nào là thời trang cho cùng một nền tảng.

Lập trình viên Javascript sẽ có nhu cầu nhiều hơn bao giờ hết. Trong kiến ​​trúc mô hình-khung nhìn-trình điều khiển, mô hình và trình điều khiển nằm ở phía sau, nhưng mã xem được viết tốt nhất trong trình duyệt. tức là HTML5, Javascript, CSS. Và bạn cần viết mã JS để truy cập dữ liệu phía sau, đặc biệt là với mã AJAX nặng.

Việc tăng năng suất sẽ chuyển sang các ngôn ngữ diễn giải động. Khi bộ xử lý ngày càng nhanh hơn, năng suất mã hóa của lập trình viên, năng suất sysadmin và năng suất quản trị viên ứng dụng là những yếu tố ảnh hưởng mạnh mẽ hơn đến năng suất chung. Bạn chỉ cần không phải lo lắng về việc VM hoặc trình biên dịch ngôn ngữ lập trình của bạn hoạt động nhanh như thế nào nữa. Bây giờ bạn cần phải lo lắng nhiều hơn về chi phí cung cấp và hỗ trợ ứng dụng của bạn.

Hầu hết các ứng dụng độc lập không phải là tuyệt vời theo ý kiến ​​của tôi. Cũng giống như có một vài ứng dụng PC độc lập tuyệt vời và những ứng dụng tốt nhất đang được chuyển đổi thành ứng dụng web. Thực sự tốt hơn là tặng miễn phí ứng dụng khách HTML / JS / CSS và tính phí hàng tháng để truy cập vào dữ liệu phía sau và logic nghiệp vụ. Các lập trình viên sẽ bán đăng ký tốt hơn so với các ứng dụng one-shot.

BTW đã xem video này bằng cách viết một phần của ứng dụng web độc lập trên trình duyệt Webkit. Nó là thú vị...


1
Vâng, một điều tuyệt vời về các ứng dụng "one-shot" là ít nhất bạn không phải thực hiện toàn bộ tên người dùng / mật khẩu khó chịu như bạn ở hầu hết mọi nơi trên web. Nhà nước được lưu tại địa phương. Ngoài ra, rất nhiều ứng dụng phía khách hàng không thực sự cần một back-end. Hãy nghĩ về các trò chơi flash. Và ai trên thế giới mua đăng ký cho các trò chơi flash mẹ bóng đá? Không một ai. Và ai trên thế giới mua ứng dụng di động? tất cả mọi người. Thật không may, tôi sợ html5 sẽ giết các ứng dụng. Thật tuyệt khi có các nhà phát triển độc lập kiếm tiền một lần.

@Schnitzel - Các nhà phát triển độc lập sẽ kiếm tiền nếu họ cũng xây dựng một back end.
Jay Godse

2
-1 cho "Tất cả các mức tăng năng suất sẽ chuyển sang các ngôn ngữ được diễn giải động" - theo tôi đó là rất sai. Tôi làm việc hiệu quả hơn nhiều trong các ngôn ngữ được gõbiên dịch tĩnh như Scala. Tôi tìm thấy lỗi nhanh hơn nhiều, trực tiếp trong IDE của tôi, so với các ngôn ngữ động như PHP, Python và Ruby.
Jonas

Tôi thực sự không thể thấy bất kỳ lợi ích nào khi sử dụng PHP / Ruby / Python thay vì Scala.
Jonas

@Jonas - Câu hỏi của riêng bạn tại lập trình viên.stackexchange.com/questions/7516/ gợi ý rằng các ngôn ngữ động dẫn đầu gói năng suất.
Jay Godse

1

Có một ý chí để thay thế các ngôn ngữ mã hóa ứng dụng như C ++, Java ... bằng HTML / Javascript. Có nhiều lý do đằng sau đó, một số trong số họ:

  • Phát triển nhanh hơn
  • Lực lượng lao động rẻ hơn
  • Kết nối được xây dựng trong
  • Dễ dàng hơn để sản xuất một cái gì đó có vẻ tốt
  • Văn bản có thể truy cập vào các công cụ lập chỉ mục

Tuy nhiên, có thể các ngôn ngữ khác sẽ xuất hiện, được sử dụng làm thay thế thả xuống cho JavaScript. Rốt cuộc, thật khó để có một ngôn ngữ có thể làm mọi thứ đúng, trong khi vẫn là ngôn ngữ cấp cao! Và JavaScript đã xuất hiện được một thời gian và tích lũy một số thiếu sót.

JavaScript rất có thể cuối cùng trở thành ngôn ngữ chính cho phía khách hàng, nhưng tôi không nghĩ nó cũng không phải là ngôn ngữ duy nhất , bởi vì, JS là ngôn ngữ được thiết kế theo tiêu chuẩn, được thiết kế theo tiêu chuẩn, điều này đơn giản sẽ giết chết sự đổi mới ở cấp độ đó (ngôn ngữ lập trình).


0

Nó cũng phụ thuộc vào kỹ năng của phần lớn các nhà phát triển và các công cụ họ sử dụng. Những người khổng lồ công nghệ mà bạn đề cập có thể điều khiển một công nghệ dựa trên các công cụ mà họ cung cấp. Ví dụ, mọi người nói HTML5 là kẻ giết người Flash nhưng tôi cảm thấy rằng ở quá xa có nhiều nhà phát triển Flash và việc chuyển các kỹ năng của họ sang JavaScript là một nhiệm vụ khó khăn. Điều cuối cùng xảy ra là kỹ năng vẫn như cũ nhưng đầu ra trở nên khác biệt. Trong trường hợp này, Adobe đi kèm với công cụ chuyển đổi HTML5.

Ngoài ra, bạn phải suy nghĩ về hiệu suất của các ứng dụng khách. Khi cần thiết, công cụ cụ thể nền tảng sẽ được sử dụng. Lấy trò chơi và ứng dụng iOS chẳng hạn. Tôi biết WebGL sắp ra mắt nhưng tôi cảm thấy mọi người vẫn sử dụng C để tạo trò chơi. Hoặc họ sẽ tạo ra một ngôn ngữ trò chơi tạo ra các trò chơi hiệu suất cao. Apple ban đầu chỉ muốn các ứng dụng web nhưng khi các nhà phát triển nhìn thấy sự kỳ diệu của ca cao, họ đã nhảy vào nó để tạo ra các ứng dụng đẳng cấp.

Tóm lại, sẽ luôn có những công cụ / ngôn ngữ / công nghệ mới sẽ luôn mát mẻ hơn những công cụ hiện tại.


0

Không phải tất cả nhưng có lẽ là hầu hết. Có thể javascript có thể trở nên đủ nhanh để thay thế HashCalc nhưng không có web thay thế cho VLC (trình duyệt không hỗ trợ tất cả các codec đó). Tôi nghi ngờ webbrowsers sẽ cho phép tôi truy cập bất kỳ tệp nào tôi muốn hoặc lưu trữ danh sách tệp gần đây (không có 'truy cập này' mỗi khi tôi nhấp vào tệp gần đây) và tôi không thích ý tưởng phân phối ứng dụng là 99% trình duyệt web (vài mb) với 100kb mã của tôi khi gặp trường hợp mã phá vỡ trình duyệt bc không tương thích ngược với html hoặc tôi cần một biến thể / sửa đổi nhẹ của webkit.

-edit- tôi cũng thích ngôn ngữ tĩnh hơn là động nhưng tôi giả sử tôi có thể sử dụng ngôn ngữ tốt với LLVM nên được trình duyệt hỗ trợ.


-1

Tôi nghĩ rằng chúng ta sẽ tiếp tục đi theo hướng đó cho đến khi trình duyệt trở thành hệ điều hành và sau đó mọi thứ sẽ bắt đầu quay lại theo cùng một thứ tự nhưng với những bài học và cải tiến.

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.