LINUX.ORG.RU

Веб это настоящая тошниловка, а номальных кросс-платформенных UI нет

 


1

5

Может быть кто знает, есть нормальная библиотека для создания интерфейсов чтобы работала вот так:

1. Создаем папку в проекте

2. Сервим ее http.Handle(«/», http.FileServer(http.Dir(«ui-lib»)))

3. Пишем код в нормальном языке программирования, описываем формы, какие где и как должны располагаться. Пишется он как и в нормальных десктопных ЯП в виде главного класса, к которому цепляются все остальные элементы (кнопки, формы и т.д.)

4. этот класс сервим http.Handle(«/api/», uiClass)

И все. На выходе получаем ссылку, где вебморда подхватывает описание uiClass и если менять какие-то параметры (или данные) в uiClass они поменяются в вебморде. И без всякой возни с помойкой в виде js, html, css и т.д.

Чего-то подобного еще не изобретено?

Ответ на: комментарий от Deleted

без всякой возни с помойкой в виде ... html, css

вот только без наездов - html, css нормальная связка (все прекрасно форматируется и валидируется), особенно css, который позволяет не трогая html менять кардинально внешний вид - чем не реализация MVC?

anonymous
()
Ответ на: комментарий от anonymous

Ты это у ТСа спроси. После появления в моей жизни TypeScript`а у меня даже глаз перестал дергаться. А возможность компилировать rust в wasm вызывает у меня приливт оптимизма.

Deleted
()
Ответ на: комментарий от anonymous

можно пример gui со стандартными потоками?

Нету такого. Хочу, а нету. Zenity есть, но это не то.

crutch_master ★★★★★
()

emscripten gui

anonymous
()
Ответ на: комментарий от Deleted

Писать формы на «нормальных десктопных ЯП» то ещё дерьмо, поверь. Можешь попробовать GWT с или без uibinder, но думаю тебе не понравится.

Swing!

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

И? Кода один черт получается сильно больше, чем при использовании языка разметки. Структуру становится вычленить тяжелее.

Как бы писать можно, но попросту хуже, нежели на паре разметка + логика.

Deleted
()
Ответ на: комментарий от buggycoder

Затея в том, чтобы вообще не писать на веб-помойке, но при этом получить вебморду.

Да было бы классно. Я сам мечтал об этом. Чтобы никакого гребанного js и остальной параши. Кончилось все тем что я пилю клиент на дройде под свой сервис и все никак не допилю. Но от джс и его «особеннностей» тошнило до безумия.

anonymous
()
Ответ на: комментарий от tz4678

а как ты онклики обрабатывать будешь, всплывающие окошечки делать?

А на vaadin'е этого нельзя?

В нормальном языке можно:

(defroute "/link-test" ()
  (concatenate 'string
               (render-widget
                (make-widget :global '<link-widget>
                             :label "Github"
                             :callback #'(lambda (args)
                                           (format t "LOG: Link clicked!")
                                           "http://github.com/ritschmaster")
                             :target-foreign-p t ;; The link goes out of this domain
                             ))
               (render-widget
                (make-widget :global '<link-widget>
                             :label "Otherpage"
                             :id "otherpage" ;; href="/links/otherpage"
                             :callback #'(lambda (args)
                                           (setf *got-here-by-link* t)
                                           "/otherpage")
                             :target-foreign-p t ;; The link goes out of this domain
                             ))
               (render-widget
                (make-widget :global '<button-widget>
                             :label "Button"
                             :callback #'(lambda (args)
                                           (format t
                                                   "LOG: Button clicked!"))))))
(с) https://github.com/ritschmaster/caveman2-widgets

И никаких HTML/JS

monk ★★★★★
()

А была же вроде некая библиотека Wt, где программа пишется на C++ в Qt-подобном стиле. на выходе получаем Web-приложение.

ТС, это не то, что тебе нужно, случайно?

hobbit ★★★★★
()
Ответ на: комментарий от vtVitus

GWT не поспевает за Java.

Неплохая штука, но развивается медленно.

Deleted
()
Ответ на: комментарий от Deleted

Кстати, хочу потыкать последний. TypeScript много ломает при выходе новой версии? Или тут работают майки: всё обратносовместимо?

Deleted
()

То что описывает автор пытались сделать в Delphi очень давно

А так, все это можно в Lazarus или Delphi только без http, хотя можно транслировать и в веббраузер, есть canvas и даже гдето был софт для этого

ism ★★★
()
Ответ на: комментарий от Deleted

В рамках мажорных релизов все ок. С 2.1 до 2.9 ничего не сломалось, только новые фичи добавляли.

Deleted
()

Веб-помойка развивается быстрее чем все десктоп поделки вместе взятые, так что не строй из себя луддита, берешь react/angular/whatever и делаешь нормальную трехзвенку вместо этого извращения с формами размазаными по клиенту и серверу

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.