2009-07-01 34 views
12

Tôi phải viết một ứng dụng web và tôi không chắc chắn nên chọn công nghệ nào. Giao diện người dùng phải giống như một ứng dụng máy tính để bàn. Từ kinh nghiệm (giới hạn) của tôi với HTML, CSS và JavaScript, tôi biết điều này là dễ dàng. Những gì tôi muốn là để có thể lập trình giống như trong C++, C# hoặc Java, bởi vì tôi nghĩ rằng những ngôn ngữ này là rất phù hợp hơn để thực hiện một GUI.Phát triển web mà không cần sử dụng HTML/CSS/JavaScript

Câu hỏi của tôi có ba điểm:

  • Đây có phải là có thể?
  • Công nghệ nào có thể được sử dụng cho điều này?
  • Và nếu có thể, tại sao hầu hết các ứng dụng web vẫn được tạo bằng HTML và JavaScript?

Cập nhật: Cảm ơn nhiều câu trả lời!

+0

bỏ phiếu để đóng cửa do điều này đã trở thành một bãi rác cho các khuyến nghị. –

Trả lời

8

Có, bạn có thể sử dụng Silverlight hoặc JavaFX (mặc dù nó sẽ yêu cầu tối thiểu HTML như 4 thẻ ...).

Vấn đề với Silverlight hoặc JavaFX và Flash cùng lúc là họ hút SEO, đó là tối ưu hóa công cụ tìm kiếm, vì Google & không thể nhìn vào bên trong ứng dụng của bạn.

+0

+1 cho JavaFX, mà tôi quên đề cập đến :-) –

+0

Tôi ngạc nhiên là người duy nhất đề cập đến nó! Nhiều như tôi không thích các ứng dụng JavaFX, nó là một lựa chọn hợp lệ và được thiết lập tốt cho Flash và Silverlight. –

+0

Google (không biết về các công cụ tìm kiếm khác) có thể nhìn vào bên trong Flash tốt nếu bạn nói với Flash/Flex/bất cứ thứ gì để tạo ra SWF có thể truy cập được. –

3

Hầu hết các ứng dụng web được tạo bằng HTML và JavaScript cho tính di động. Tuy nhiên, nếu bạn muốn có giao diện người dùng thực sự "phong phú", bạn có thể muốn điều tra Adobe Flash hoặc Flex hoặc Microsoft Silverlight (mà bạn có thể lập trình trong C#). Tuy nhiên, bạn sẽ yêu cầu người dùng của mình có plugin thích hợp.

+0

Đề xuất của GabFX về Java cũng không kém phần hợp lệ. –

+0

Abode flex, quên cái này. –

1

Silverlight có vẻ như gần nhất với những gì bạn đang nói đến (C#, v.v.)

Bạn cũng có thể sử dụng Flash cho các ứng dụng internet phong phú.

Thành thật mà nói, bạn NÊN tìm hiểu ít nhất HTML cơ bản trước khi bạn bắt đầu lập trình web. Bạn nên học nhiều hơn thế, nhưng ở mức tối thiểu.

Và để trả lời câu hỏi cuối cùng của bạn, tại sao mọi người vẫn sử dụng HTML ...

Không phải ai cũng sử dụng web là một máy tính để bàn tương đối mạnh mẽ. Mọi người truy cập web từ điện thoại, chương trình máy tính, v.v. Không phải tất cả các thiết bị này đều hỗ trợ RIA và vì vậy, bạn đã để lại hoặc bỏ chúng ra hoặc đưa mọi thứ vào môi trường mà mọi người đều có thể thấy.

Ngoài ra, khả năng truy cập (người mù, ví dụ) yêu cầu trình đọc màn hình để giúp họ trên web. Bởi vì điều này, khả năng đọc một tài liệu cho người dùng là bắt buộc.

Có nhiều lý do chắc chắn hơn, nhưng đó là một vài ví dụ.

1
  • Silverlight/Flash/etc
  • Rất nhiều lý do: khả năng tiếp cận, SEO, tính di động
3

Bạn có thể sử dụng Flex, Silverlight hoặc Flash để tạo ra các giao diện phong phú.

Nếu bạn không thích HTML và CSS, bạn có thể sử dụng các khung CSS như blueprint, HAML, SASS. Nếu bạn không thích javascript, bạn có thể cải thiện trải nghiệm bằng cách sử dụng jquery hoặc prototype.

Sử dụng HTML giúp bạn hiển thị nhiều hơn. Ví dụ: rất nhiều thiết bị di động không xử lý Flash và hầu hết mọi người không có Silverlight. Ngoài ra còn có các vấn đề SEO. Ngay cả khi Google hiện đang tham chiếu đến nội dung flash, nó vẫn còn là cách để giới thiệu HTML.

Cuối cùng, đối với tôi, ứng dụng web không giống như ứng dụng dành cho máy tính để bàn. Nhưng nếu bạn thực sự muốn làm như vậy, có những cách để làm điều đó:

alt text http://cappuccino.org/learn/tutorials/automatic-layout/images/280SlidesOverlay.png

(cappuccino)

+0

"một ứng dụng web không giống như một ứng dụng máy tính để bàn". Tôi chắc chắn đồng ý. Tuy nhiên, trong công ty của tôi, họ muốn chuyển ứng dụng C++ của chúng tôi sang ứng dụng web, vì vậy tôi nghĩ họ sẽ muốn xem * tất cả * chức năng được chuyển: ( –

4

tôi không thuyết phục trông giống như một ứng dụng máy tính để bàn là chìa khóa để thành công - và điều đó thực sự có ý nghĩa gì?

Giao diện người dùng Jquery cung cấp cho bạn ý tưởng về những gì có thể sử dụng kết hợp html/css/js chuẩn và dễ thực hiện.

1

Như tôi đã thấy cú pháp được sử dụng trong Java FX, tôi nghĩ bạn sẽ tốt hơn với một Java Applet thông thường (có một chút chủ quan với lý do chính đáng). Applet là một ứng dụng Java (với một số hạn chế nhất định) được nhúng trong trình duyệt.

Lý do HTML/CSS/Javascript được sử dụng cho các trang web là vì đó là những gì chúng được dự định. Chúng cho phép bạn tạo các tài liệu có thể tìm kiếm và linh hoạt về bố cục, ví dụ: Đặt một Java Applet (ví dụ) trong trình duyệt hạn chế bạn khi nói đến hình thức, kiểu dáng, SEO (như đã đề cập) +++ ...

Silverlight cũng là một giải pháp thay thế, như được đề xuất. Đó cũng là một ứng dụng nhúng chạy trong trình duyệt.

Nếu bạn làm chủ Java, một applet sẽ là một lựa chọn tốt nếu bạn có thể sống với những nhược điểm này.

1

Hãy xem Wicket. Bạn có thể xây dựng một ứng dụng web với mã hóa chỉ bằng Java theo cách rất giống với cách bạn tạo các ứng dụng dành cho máy tính để bàn với Swing.

CHỈNH SỬA: Ok, tôi phải thừa nhận, bạn cần một chút trải nghiệm HTML (mà bạn có), nhưng Wicket thực hiện hầu hết các công cụ JavaScript và AJAX phức tạp cho bạn.

Ngoài ra GWT có phần tương tự: nó tự động dịch mã Java sang JavaScript và tạo hầu hết HTML cho bạn.

9

Bạn có thể sử dụng Python với Pyjamas, Mục tiêu-J (và một chút JavaScript) với Cappuccino hoặc Java với GWT.

Nếu bạn không nhớ là phụ thuộc vào các plugin trình duyệt, bạn cũng có thể nhìn vào Adobe Air, Adobe Flex, Flash, Silverlight, hoặc JavaFX (hoặc chỉ đơn giản Java).

Để trả lời câu hỏi khác của bạn, hầu hết các ứng dụng web được viết bằng HTML/CSS/JS vì đó là những gì hầu hết các trình duyệt có thể chạy mà không cần trợ giúp. Tất cả mọi thứ tôi đã đề cập ở trên hoặc là biên dịch cho những người hoặc dựa vào người dùng có một plugin được cài đặt.

6

Một vài điểm:

Đó là không thể có một trang web mà không cần HTML.

Nếu bạn sử dụng các plugin như Flash vì những người khác đã đề xuất bạn vẫn cần HTML, vì đó là ngôn ngữ của web. HTML, CSS và Javascript được sử dụng rộng rãi vì các plugin chủ yếu là sở hữu và không được trình duyệt hiểu.

Ví dụ: bạn không thể sao chép-dán văn bản dễ dàng từ các plugin và các chức năng và phím tắt khác của trình duyệt không hoạt động. Bạn sẽ phải cân nhắc những gì quan trọng hơn.

Nếu ứng dụng của bạn phải trông giống như một ứng dụng desktop, làm cho nó một ứng dụng desktop

Tại sao không làm một ứng dụng máy tính để bàn, với khả năng kết nối internet? Đó là loại lừa dối làm cho nó trông giống như một cái gì đó nó không phải, và cũng lạ khi nó đang chạy trong một ứng dụng khác (trình duyệt).

Và bất kỳ kiểu nào bạn sử dụng, nó vẫn sẽ không giống như hệ điều hành của người dùng trong hầu hết các trường hợp. Mỗi hệ điều hành khác nhau và mỗi hệ điều hành đều cho phép tùy chỉnh nhiều. Bạn có thể sử dụng một khuôn khổ đa nền tảng để loại bỏ hoặc giảm các vấn đề này.

+0

"Tại sao không tạo ứng dụng dành cho máy tính để bàn": Chúng tôi đã có ứng dụng khách trên máy tính để bàn cho máy chủ của chúng tôi, nhưng bộ phận bán hàng của chúng tôi giờ nghĩ rằng các ứng dụng web là cách để đi :-( –

+0

Sau đó, bạn cần giải thích cho họ những ưu và khuyết điểm của từng cách tiếp cận và cách thức phù hợp với dự án của bạn. là * phù hợp hơn, tôi khuyên bạn nên giữ nó "mở" và có thể truy cập bằng cách sử dụng HTML trên các plugin và làm cho nó hoạt động như một ứng dụng web chứ không phải ứng dụng dành cho máy tính để bàn. – DisgruntledGoat

0

bạn có thể thử sử dụng Intraweb http://en.wikipedia.org/wiki/Intraweb http://www.atozed.com/intraweb/index.en.aspx

không có kiến ​​thức cần thiết js - viết trong tinh khiết Delphi pascal.

Hoặc nếu bạn thích giải pháp phần mềm miễn phí sau đó Morfik http://morfik.com/ Nó có phiên bản dành cho FreePascal, C#, và VisualBasic

0

Bạn có thể có một thử với ZK (http://www.zkoss.org/zkdem) một khuôn khổ RIA mạnh mẽ,

Với mát này , bạn có thể xây dựng ứng dụng ajax của mình hoàn toàn bằng Java và xml.

0

trực quan WebGUI

http://www.gizmox.com

Bạn có thể lập trình cũng giống như khi bạn đang xây dựng một ứng dụng WinForms máy tính để bàn trong C#, VB.Net hoặc lựa chọn của bạn về ngôn ngữ lập trình Net. Các nhà thiết kế mẫu WYSIWYG đầy đủ giống như WinForms. Không cần kỹ năng HTML, Javascript hoặc CSS, trừ khi bạn muốn tùy chỉnh các điều khiển hộp. Tuy nhiên điều này là không thực sự cần thiết nếu bạn chỉ muốn một ứng dụng kiểu WinForms, như Visual WebGUI đã hỗ trợ hầu hết các điều khiển WinForms như bạn có thể tìm thấy trong Visual Studio. Họ chỉ thực hiện tất cả các điều khiển kiểu WinForms để hiển thị tất cả phần ứng dụng khách trong trình duyệt web. Có một số khác biệt nhỏ trong cách bạn xử lý các hộp thoại phương thức hoặc hộp thông báo như bình thường trong WinForms, nhưng khác hơn là nó giống như mã hóa một ứng dụng WinForms.

1

Một lựa chọn tốt là Vaadin. Bạn có thể viết mã các ứng dụng web bằng cách sử dụng Java (hoặc bất kỳ ngôn ngữ nào cho JVM) mà không cần phải viết HTML hoặc JavaScript (nhưng nó có sẵn khi cần).

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