wizzard: (Default)
[personal profile] wizzard

меня довольно давно пинают написать ряд кроссплатформенного софта

вопрос общественности: писать гуи “в лоб”, под каждую платформу отдельно, или пытаться его генерировать из каких-то своих definition файлов?

третье решение “написать под одну платформу, портировать под другие” не вариант по очевидным причинам (время порта, когда софт уже привязался к особенностям чего-то, может быть астрономическим)

с одной стороны, фигачить кучи кода можно вполне предсказуемым темпом, набирается экспириенс в разных платформах, софт будет более естественно выглядеть чем порты.
с другой стороны, фиксить дубликаты багов очень грустно, дублировать часть логики тоже.

что еще я забыл? ах, да. можно было бы конечно под все платформы взять какой-нибудь GWT и браузер, но попытка сделать простенький редактор диаграмм на JS вызывает у меня лютую ненависть к браузеровендорам, т.к. эта область плохо покрыта всякими кроссплатформенными обертками – то есть, делать-то можно, но например векторная графика и локали это PITA.

Date: 2010-10-13 09:45 am (UTC)
From: [identity profile] fi_mihej.livejournal.com
wxWidgets, под нужный/используемый язык, можно еще заюзать. Как вариант.

Date: 2010-10-13 09:46 am (UTC)
From: [identity profile] blueher.livejournal.com
В принципе с векторной графикой всё не так уж плохо если забить на IE младше 9-ки (или использовать для них Chrome Frame) - тогда довольно-таки кроссбраузерное решение.

А насчёт локалей не совсем понял что имелось в виду

Date: 2010-10-13 09:47 am (UTC)
From: [identity profile] blueher.livejournal.com
Да, и ещё - раз тут назвали wxWidgets то сразу же вспоминается QT
У них кстати встроен WebKit что опять же даёт возможность тырить всякие красивости (и кривости, ага ;) ) прямо из web-страничек

Date: 2010-10-13 09:51 am (UTC)
From: [identity profile] metaclass.livejournal.com
Вынести максимум функциональности в кроссплатформенный бэк-енд, а GUI писать таки отдельно под каждую платформу.
Qt можно было бы попытаться использовать, если не лезть в низкоуровневые дебри.

Date: 2010-10-13 09:54 am (UTC)
From: [identity profile] metaclass.livejournal.com
А что ты такое сделать хочешь?
А то вообще зум и частый layout - это однозначно собственные гуишные компоненты под каждую платформу, самостоятельное рисование, итд.

Date: 2010-10-13 09:58 am (UTC)
From: [identity profile] justy-tylor.livejournal.com
wxWidgets, Qt, возможно C#/Mono (не в курсе, как там сейчас с совместимостью по GUI библиотекам).
Однако. Если под линухи можно стилизировать тот же гуй, что сделан под винду, то для маков понадобятся переделки - там другая клавиатура, другая компоновка окон и другие ожидания пользователей.

Date: 2010-10-13 10:07 am (UTC)
From: [identity profile] shadow-aka-hf.livejournal.com
у меня давно есть желание встроенный в приложение vnc сервер попробовать

Date: 2010-10-13 10:12 am (UTC)
From: [identity profile] shadow-aka-hf.livejournal.com
Задача должна оправдывать. Для всякой мелочи нет смысла никакого.
И всякая анимация будет плохо смотреться.

Date: 2010-10-13 10:13 am (UTC)
From: [identity profile] shadow-aka-hf.livejournal.com
С мобильными платформами врядли получиться унифицировать.
Если только кодогенератор.

Date: 2010-10-13 10:51 am (UTC)
From: [identity profile] blueher.livejournal.com
Честно говоря не в курсе, но как заметил metaclass - вряд ли под такую задачу ты найдёшь подходящий framework, во всех них zoom и layout это редкие и дорогостоящие операции by design

Date: 2010-10-13 10:54 am (UTC)
From: [identity profile] blueher.livejournal.com
Согласен что и одно и другое делается для web applications негетеросексуально.
Но имхо если тебе не нужно что-то специфическое от машины на которой ты запускаешься (доступ к файлам, каким-то железякам) или уж очень суровая производительность - плюсы вебного приложения перевешивают его минусы.

Date: 2010-10-13 11:05 am (UTC)
From: [identity profile] fi_mihej.livejournal.com
Можно: оно динамичное (рантаймовое). Только плавность анимации зума (плавность задания дискретных значений зума и ивентов перерисовки в процессе этого самого анимированного зума) придется обеспечивать ручками. Но в рамках wxWidgets API (кроссплатформенно то бишь).
layout там так же с динамичной привязкой и автоматическим, относительным размещением элементов (если делать зум окна - то оносительное расположение сохранится автоматом. Но когда такое не нужно - то можно и абсолютные значения задавать). Если надо на глазах изумленного юзера, сделать красивый плавный перелет кнопачкав из одной конфигурации их размещения - в совершенно другую - то снова таки надо будет ручками это писать (правда хз, на сколько оно будет сложно, учитывая особенность распределения элементов в wx). А если без анимации перелетов кнопачков - то не проблема: в рамках парадигмы.

Date: 2010-10-13 11:13 am (UTC)
From: [identity profile] fi_mihej.livejournal.com
Кстати, пользуясь случаем поплакаюсь в воздух: ну блин когда уже сделают wxQT, а то под Win - есть под Mac - есть, под GTK - есть, а под QT, до сих пор нету?!!111
Хотя вроде-как уже начали.

Date: 2010-10-13 12:02 pm (UTC)
From: [identity profile] ady-1981.livejournal.com
Swing не устраивает видимо?
Мой опыт говорит, что разрабатывать десктопную GUI гораздо проще и быстрее, чем вебную.

Date: 2010-10-13 04:43 pm (UTC)
From: [identity profile] zeux.livejournal.com
На мобильных платформах и на PC должен быть по-моему принципиально разный гуи, какая тут унификация...

Date: 2010-10-13 06:34 pm (UTC)
From: [identity profile] murkt.livejournal.com
Можно

Date: 2010-10-13 11:16 pm (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Пиши клиента на Питоне + ткинтер. Он одинаково уродский везде, но работает причём дико быстро в смысле трудозатрат! Потом, если что, перепишешь.

Date: 2010-10-14 06:44 am (UTC)
From: [identity profile] grundik.livejournal.com
Под каждую платформу - своего GUI-клиента, ибо принципы построения UI у каждой платформы свои.

Если UI довольно простой - то можно и один на всех.

Date: 2010-10-14 06:45 am (UTC)
From: [identity profile] grundik.livejournal.com
Adobe AIR говно. Чисто моё впечатление от:
1. использования нескольких программ
2. разглядывания их исходников
3. чтения спеков на платформу в процессе 2

Date: 2010-10-14 06:47 am (UTC)
From: [identity profile] grundik.livejournal.com
QT в винде выглядит абсолютно инородно.
На маке то же самое.

Date: 2010-10-14 06:49 am (UTC)
From: [identity profile] grundik.livejournal.com
> Вынести максимум функциональности в кроссплатформенный бэк-енд, а GUI писать таки отдельно под каждую платформу.

Яростно плюсую.

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 26th, 2026 06:36 pm
Powered by Dreamwidth Studios