Вебкіт як графічний інтерфейс у .Net / Mono


12

Я хочу зробити кросплатформенну програму, на якій також буде веб-сайт, де настільні програми (Windows, iOS, Linux) будуть спілкуватися з сервером і тримати дані користувачів у синхронізації.

Поки що я бачу такі варіанти:

  • Напишіть рідний графічний інтерфейс для кожної з 3 ОС, щоб у мене було 3 бази коду GUI (і єдина резервна система)
  • Використовуйте щось на зразок GTK, тому я можу використовувати одну систему з підтримкою на всіх згадуваних платформах.

Але третє, про яке я не зміг знайти багато інформації (можливо, я не шукаю правильних термінів, оскільки я все ще новачок у C # та .Net), - це мати вікно із вбудованим екземпляром WebKit. , що дозволило б мені використовувати ту саму систему GUI, яку я використовував би для веб-сайту. Що дозволило б клієнтській програмі та веб-сайту виглядати якомога ближче один до одного, щоб користувачі ознайомилися з інтерфейсом.

Чи правдоподібний цей останній варіант із WebKit? Я вже добре знаю JavaScript / HTML, і якщо я можу використовувати ці знання для створення інтерфейсу, це було б чудово. Також буде чудовим способом дозволити користувачам налаштувати інтерфейс із плагінами, і вони зможуть синхронізувати будь-які налаштування інтерфейсу з локального на Інтернет.


Я шукаю Sencha ExtJS для такої роботи, але я не впевнений, що це найкращий метод, який зараз можна використовувати.
jfrankcarr

Відповіді:


10

Не можете зрозуміти, чому ні, але ви можете просто запустити Chrome в режимі "без вікон", або IE в режимі "hta" (ми написали настільний додаток за допомогою веб-технологій, розгорнувши його як hta в Windows десятиліття тому).

Сьогодні я б щось робив без IE / IIS і використовував веб-розетки для більш інтерактивного досвіду.

Є компоненти, які дозволяють веб-сайту вбудувати в додатки C #: дивіться цю публікацію від SO (консенсус - використовувати Webkit.NET )

Я б також застосував замість цього компонент QtWebkit , тоді ви напишете єдиний, легкий, на платформі "настільний" додаток на основі Qt, який вбудовує ваш веб-інтерфейс.


Гмм, це здається твердою відповіддю. Я зачекаю трохи, щоб побачити, чи хтось задзвенить, перш ніж позначити як відповідь. Але Webkit.Net схоже, що це може зробити цю роботу. Одне з посилань у питанні SOSO, яке ви пов’язали, переходить до github repo CefSharp, де у нього вбудований екземпляр хрому. Хоча я не впевнений, чи знадобиться мені весь браузер порівняно з просто веб-файлом. Я мушу шукати далі.
лижі

Щодо "Сьогодні я б щось робив без IE / IIS і використовував веб-розетки для більш інтерактивного досвіду". Я хочу використовувати моно, щоб я міг використовувати .net і підтримувати крос-платформу, а також мати змогу розміщувати сайт на чомусь на зразок nginx або cherokee, якщо вони мають монопідтримку, інакше apache. Я не знаю достатньо адміністратора IIS та Windows, але я знаю і маю веб-сервер linux. Поки що у мене не буде взаємодії користувача з користувачем, тому мені, мабуть, не потрібні веб-розетки. І синхронізація БД буде використовувати couchdb. Хоча ви можете подивитися на websockets або socket.io пізніше, коли я роблю більш досконалі речі
пропустіть

Для веб-розробників дотримуйтесь стека Linux, Windows - бідне місце на ринку веб-розробок. Я б також ігнорував моно, оскільки він був відкинутий, коли Novell потрапив під категорію, я б сказав, що це мертвий техніка, краще дотримуватися однієї з інших технологій крос-платформ, а це дає вам кращий досвід для розробників в Linux. Покладатися на монопору та майбутні оновлення - трохи ризиковано на мій смак.
gbjbaanb

Так, це теж не мій форте. Я вважаю за краще рухатися у напрямку JavaScript та node.js. Але мені доводиться вивчати мережу c # /. Для роботи, тому я подумав, що я можу створити з нею невеликий проект, який допоможе його вивчити. Я думаю, що .Net має досить цікаві функції, якщо я займаюся в основному розробкою Windows та Інтернетом. Тому я намагаюся використати те, що я знаю, що буду використовувати на роботі, а це суміш веб-та настільних додатків.
лижі

0

Я працював над рамками заявок для таких проектів, як ваш. Він заснований на структурі вмісту хрому. Це дозволяє реалізувати графічний інтерфейс програми з html / css / js / svg тощо, а логіку програми реалізовувати у javascript або c #.

Моя мета - розробити багаті, повнофункціональні «товсті» настільні програми за допомогою веб-технологій, які є кросплатформою і не вимагають нічого із боку сервера.


Хоча, хоча я хочу робити щось із сервера (оскільки користувачі зможуть синхронізувати дані з центральним сервером та користуватися додатком в Інтернеті), мені було б цікаво дізнатися, як ви використовуєте хром. Для мене версії для настільних комп’ютерів - це в основному копія того, що відбувається на сервері, тому він працює швидше і не потрібно чекати оновлень, і вони можуть використовувати його в автономному режимі.
лижі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.