Webkit dưới dạng GUI trong .Net / Mono


12

Tôi muốn tạo một ứng dụng đa nền tảng, cũng sẽ có một trang web nơi các ứng dụng máy tính để bàn (Windows, iOS, Linux) sẽ nói chuyện với máy chủ và giữ cho dữ liệu của người dùng được đồng bộ hóa.

Cho đến nay các tùy chọn tôi thấy là:

  • Viết GUI gốc cho mỗi 3 HĐH, do đó tôi sẽ có 3 cơ sở mã GUI (và một hệ thống phụ trợ duy nhất)
  • Sử dụng một cái gì đó như GTK để tôi có thể sử dụng một hệ thống với sự hỗ trợ trong tất cả các nền tảng được đề cập.

Nhưng thứ ba mà tôi không thể tìm thấy nhiều thông tin trên (có thể tôi không tìm kiếm đúng thuật ngữ vì tôi vẫn chưa quen với C # và .Net), là có một cửa sổ với phiên bản WebKit nhúng được tích hợp , cho phép tôi sử dụng cùng một hệ thống GUI mà tôi sẽ sử dụng cho trang web. Điều này sẽ làm cho ứng dụng khách và trang web trông gần nhau nhất có thể để người dùng quen thuộc với giao diện.

Đây có phải là lựa chọn cuối cùng với WebKit hợp lý không? Tôi đã biết rõ về JavaScript / HTML và nếu tôi có thể sử dụng kiến ​​thức đó để tạo giao diện, điều đó sẽ rất tuyệt. Cũng sẽ là một cách tuyệt vời để cho phép người dùng tùy chỉnh giao diện với các plugin và họ có thể giữ đồng bộ mọi tùy chọn UI từ cục bộ sang web.


Tôi đang xem xét Sencha ExtJS cho loại công việc này nhưng tôi không tin rằng đây là phương pháp tốt nhất để sử dụng.
jfrankcarr

Câu trả lời:


10

Không thể hiểu tại sao không, nhưng thay vào đó, bạn chỉ có thể chạy Chrome ở chế độ "không có cửa sổ" hoặc IE ở chế độ "hta" (chúng tôi đã viết một ứng dụng máy tính để bàn bằng công nghệ web, triển khai nó như một hta trên Windows một thập kỷ trước).

Hôm nay tôi sẽ làm một cái gì đó mà không có IE / IIS và sử dụng websockets để có trải nghiệm tương tác nhiều hơn.

Có các thành phần cho phép webkit được nhúng trong ứng dụng C #: xem bài đăng này từ SO (đồng thuận là sử dụng Webkit.NET )

Thay vào đó, tôi cũng sẽ sử dụng thành phần QtWebkit , sau đó bạn sẽ viết một ứng dụng 'máy tính để bàn đa nền tảng, nhẹ, dựa trên Qt, nhúng GUI GUI của bạn.


Hrmm, đây có vẻ như là một câu trả lời chắc chắn. Tôi sẽ chờ một chút để xem có ai bấm chuông hay không trước khi đánh dấu là câu trả lời. Nhưng Webkit.Net có vẻ như có thể thực hiện công việc. Một trong những liên kết trong câu hỏiSO mà bạn đã liên kết đến một github repo CefSharp nơi anh ta có một bản sao crom được nhúng. Mặc dù tôi không chắc là tôi sẽ cần toàn bộ trình duyệt so với chỉ webkit. Tôi phải nhìn xa hơn.
skift

Đối với 'Hôm nay tôi sẽ làm một cái gì đó mà không có IE / IIS và sử dụng websockets để có trải nghiệm tương tác nhiều hơn.' Tôi muốn sử dụng mono để tôi có thể sử dụng .net và có hỗ trợ đa nền tảng, cũng như có thể lưu trữ trang web trên một cái gì đó như nginx hoặc cherokee nếu họ có hỗ trợ mono, nếu không thì apache. Tôi không biết quản trị viên IIS và windows đủ, nhưng tôi biết và có một máy chủ web linux. Cho đến nay tôi sẽ không có tương tác người dùng trực tiếp với người dùng vì vậy tôi có thể không cần websockets. Và đồng bộ hóa DB sẽ được sử dụng couchdb. Mặc dù có thể nhìn vào websockets hoặc socket.io sau này khi tôi đang làm những thứ cao cấp hơn
skift

Đối với nhà phát triển web, dính vào ngăn xếp Linux, Windows là một thứ 2 kém trong thị trường phát triển web. Tôi cũng bỏ qua mono, vì nó đã bị loại bỏ khi Novell đi theo Tôi nói rằng đó là một công nghệ đã chết, tốt hơn là gắn bó với một trong những công nghệ đa nền tảng khác thay vào đó mang lại cho bạn trải nghiệm phát triển tốt hơn trên Linux. Dựa vào hỗ trợ mono và cập nhật trong tương lai là một chút rủi ro cho sở thích của tôi.
gbjbaanb

Phải, nó thường không phải là sở trường của tôi. Tôi thích hướng tới javascript và node.js. Nhưng tôi phải học c # /. Net cho công việc nên tôi nghĩ rằng tôi cũng có thể xây dựng một dự án nhỏ với nó để giúp học nó. Tôi nghĩ rằng .Net có một số tính năng khá thú vị nếu tôi chủ yếu phát triển windows và web. Vì vậy, tôi đang cố gắng sử dụng những gì tôi biết tôi sẽ sử dụng tại nơi làm việc, đó là sự pha trộn giữa các ứng dụng web và máy tính để bàn.
skift

0

Tôi đã làm việc trên một khung ứng dụng cho các dự án như của bạn. Nó dựa trên khung hàm lượng crom. Nó cho phép GUI của một ứng dụng được triển khai với html / css / js / svg, v.v. và logic ứng dụng sẽ được triển khai trong javascript hoặc c #.

Mục tiêu của tôi là có thể phát triển các ứng dụng máy tính để bàn 'dày' đầy đủ tính năng bằng các công nghệ web, đa nền tảng và không yêu cầu bất kỳ thứ gì của máy chủ.


Mặc dù trong khi tôi muốn thực hiện mọi thứ phía máy chủ (vì người dùng sẽ có thể đồng bộ hóa dữ liệu với máy chủ trung tâm và sử dụng ứng dụng trực tuyến), tôi sẽ quan tâm đến việc bạn sử dụng chromium như thế nào. Đối với tôi, các phiên bản máy tính để bàn về cơ bản sẽ là bản sao của những gì trên máy chủ để nó chạy nhanh hơn và không phải chờ cập nhật và họ có thể sử dụng ngoại tuyến.
skift
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.