LINUX.ORG.RU
ФорумTalks

[Qt5][Вендупс №8][Выдыхаю]Хитрый план


0

2

В этих ваших интернетах можно прочитать, что Qt5 будет на жабаскрипте. На нём же будет... новая Восьмёрочка. Ъ и так давно это знают, но тем не менее:

Цели следующей мажорной версии Qt (Qt 5)

  • Улучшить использование GPU, позволяя создавать плавную (и ускоренную) графику даже при ограниченных ресурсах;
  • Сделать создание современных приложений и пользовательских интерфейсов проще и быстрее (с использованием QML и JavaScript);
  • Сделать приложения, подключенные к Сети, мощнее и лучше, то есть дать возможность легко встраивать веб-контент и веб-сервисы в любое приложение Qt;
  • Уменьшить сложность и объем кода, необходимого для поддержания и реализации портов.

Qt 5 будет сосредоточено на небольшом наборе операционных систем/платформ (т.е. платформ Wayland и X11 на Linux, Mac и Windows). Общее число платформ будет зависеть от усилий открытого сообщества, вложенных в Qt. Другие операционные системы, в настоящее время поддерживаемые Qt 4 (особенно коммерческие системы UNIX), не будут в центре внимания для Nokia. Целью проекта Qt 5 является предоставление наилучшей функциональности на каждой платформе, что означает, что Qt начнёт предлагать более дифференцированные возможности на разных ОС, в то же время предлагая эффективное повторное использование большей части кода на разных платформах.

Ранее в этом месяце Microsoft несколько шокировала Windows-разработчиков: платформа .NET, которую компания продвигала на протяжении последнего десятилетия как основную для разработчиков, не будет использоваться при построении приложений для нового интерфейса Windows 8. Вместо этого, разработчики должны использовать HTML5 и JavaScript.

Так вот, подумалось, а что если:

  • Нокию продолжат сливать, обесченивать;
  • Разработка Qt5 будет идти ударными темпами с закапыванием и отказом от всякой экзотики типа солярисов и кьюниксов, а потом и этих ваших линупсов;
  • К выходу восьмёрочки микрософт покупает нокию по дешёвке и объявляет, что новые квадратные интерфейсики неплохо бы делать на жабаскрипте и Qt5 для этого подходит лучше всего.

В результате:

  • Qt4 со временем объявляется deprecated;
  • Qt5 - это модно и гламурно, всем хомячкам хотеть и фапать;
  • Писать желательно под Восьмёрочку из под свеженькой студии 2012 на православном жабаскрипте. А эти ваши приплюснутые gcc забудьте. Да и вообще, ну его в опу этот небезопасный и сложный c++;
  • Сообщество Qt возглавлено, дезориентировано и направлено в нужную сторону. Со временем рушится кроссплатформенность. Минус конкурент(для .NET), плюс союзник;
  • Квадратики - это же не серьзёно, так для планшеток с вендофонами. Так что окошечки всем остальным продолжать делать на .NET;
  • ?????
  • Лысый с Яйцелопом пожимают профиты.
Ответ на: комментарий от alix

> Я, конечно, не идеально разбираюсь в программировании, но насколько мне известно, можно к примеру ГУЙ написать на PyQt, а все сложные ресуроемкие вычисления, которые реально могут затормозить систему - на C/C++

я уже спрашивал - а зачем так делать? накидать «формочку» и связать код с обработчиками можно и без всякого питона, и при этом получить на выходе один бинарник без необходимости в том же питоне, можно даже взять JS из Qt же и опять же обойтись без питона

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

>Зато жабаскрипт машина пригодится для манипулирования этой разметкой в случае задачи сделать «ответить на это сообщение».

C++ это также сделает. Насколько я помню, там не нужно руками разметку дёргать, если этого не хочется.

Не 100Кб JS, а 31 Кб кода.


Ты и вправду думаешь, что исполняется запакованный жквери? :)

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

C и вроде C++ тоже с момента релиза NDK официально. В 2.3 напрямую из C можно обращаться к функциям ввода с экрана и сенсоров и вывода на экран.

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

> Уж получше, чем визуал васик.

Для веба может быть. Для десктопа отнюдь нет.

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

Python проще и удобнее (лично для меня), на нем можно написать почти всё приложение, не только GUI, оставив C/C++ для «тяжелых» вычислений

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

> Python проще и удобнее (лично для меня), на нем можно написать почти всё приложение, не только GUI

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

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

>C++ это также сделает. Насколько я помню, там не нужно руками разметку дёргать, если этого не хочется.
Но там в любом случае больше и сложнее код будет при работе с обработчиками событий, чем в javascript. Ну и отладка будет существенно веселей.

Ты и вправду думаешь, что исполняется запакованный жквери? :)

Соглашусь, ступил. На проекте у меня не самая новая jquery весит 50кб. И исполняется там отнюдь не весь код кстати.

Tark ★★
()

ну вот всё скатилось до уровня что первее - Курица или Яйцо..

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

>сложнее код будет при работе с обработчиками событий, чем в javascript

[вставить сюда ржание коня] Обработчики в жабаскрипте ничем не отличаются. Такое же прикрутитьМнеСобытие(какое, функция, и прочие, параметры). Что по сути как Qt и есть. Либо штамповать function(){} прямо в вызове прикрутитьМнеСобытие(), что делает код похожим на лапшу. Рубишные блоки в этом смысле более человечны.

И исполняется там отнюдь не весь код кстати.


И в памяти тоже не весь будет? :}

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

Гиперссылки в десктопных программах? Не нужно. Как и текст в 2 колонки. Если их нельзя использовать, это не значит, что не нужно. Для того же интерфейса для просмотра истории коммитов нужно например.

кстати, а как отрендерить текст в две/три колонки в CSS ?

кстати видимо никто и не знает :(

Как-бе намекаю спорщикам, что на клиентском компе примитивы (и не только примитивы) должны рендериться на родные API. И что-то доллжно это делать. Так что Qt в нынешнем виде (и gtk с ним) не вмерло.

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

>[вставить сюда ржание коня] Обработчики в жабаскрипте ничем не отличаются. Такое же прикрутитьМнеСобытие(какое, функция, и прочие, параметры). Что по сути как Qt и есть. Либо штамповать function(){} прямо в вызове прикрутитьМнеСобытие(), что делает код похожим на лапшу. Рубишные блоки в этом смысле более человечны.
Вот простой пример работы с событиями на яваскрипте http://pastebin.com/3QbBvzGT . Он предоставляет из коробки и без костылей гораздо больше возможностей. И это если не считать DOM.

И в памяти тоже не весь будет? :}

В памяти будет огромный меньше чем 50-килобайтный кусок байткода. Я боюсь, что он просто ее переполнит, ведь память то сейчас на вес золота.

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

>button.onclick = genHello('Mystra');

Это неправильный подход, т.к. таким образом ты можешь подвесить только 1 обработчик. Надо делать addEventListener() (attachEvent() в старых IE).

В памяти будет огромный меньше чем 50-килобайтный кусок байткода.


Хотелось бы циферки… уверен, что 50 кило не превратятся в какого-то монстра? :]

Я боюсь, что он просто ее переполнит, ведь память то сейчас на вес золота.


Это называется копроэкономика, не надо нам этого.

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

Кстати, финты ушами с return function() это называется элегантно избавились от костылей, сделав новые :)

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

Это причина стаду проследовать за пастухом.

???

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

>Это неправильный подход, т.к. таким образом ты можешь подвесить только 1 обработчик. Надо делать addEventListener() (attachEvent() в старых IE).
То есть лучшим решением в данной ситуации сделать бы заведомо костыльное решение с определением браузера и замыканием вокруг attachEvent вместо отлично подходящего для примера на 3 строки метода? Странно.

Хотелось бы циферки… уверен, что 50 кило не превратятся в какого-то монстра? :]

Циферек не будет, мне лень, так что презумпция невиновности дай мне силу!

Это называется копроэкономика, не надо нам этого.

freeciv, baldur's gate, mdk 2, far cry - lua используют, которая тормознее javascript и всё ок, а как возникает вопрос об экономии денег и нервов на С++ погромистах - так сразу копроэкономика.

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

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

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

> в старых IE

костыльное решение с определением браузера


вы так говорите, будто M$ сама не просила свою целевую аудиторию отказаться от старых версий IE, так как там все через одно место

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

>>«а что нужно? вот если писать не очередной плеер или примитивную обертку над mencoder, например?»

блядь

В blender'е сложный гуй на питоне, тормозов нет. Или это тоже обёртка?

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

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

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

«W3C Candidate Recommendation 12 April 2011»

дальше продолжить ?

И? Что ты продолжать решил? Тебе зачитать что такое CSS3?

зачитай процедуру приёма Candidate

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

>Как-бе намекаю спорщикам, что на клиентском компе примитивы (и не только примитивы) должны рендериться на родные API.
Напомни мне родное API GNU/линуксов.

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

>То есть лучшим решением в данной ситуации сделать бы заведомо костыльное решение с определением браузера и замыканием вокруг attachEvent вместо отлично подходящего для примера на 3 строки метода? Странно.

Определение браузера? Ты с какого века к нам? :) Проверяешь есть ли функция (т.е. свойство), если нет делаешь что-то другое. И потом, мы же сейчас про сферические «десктопные программы», а там IE не предусматривается. Или ты хочешь весь ворох костылей с веба притащить с собой? Такой десктоп лучше сразу закопать.

freeciv, baldur's gate, mdk 2, far cry - lua используют


А некоторые и мышей едят ©

Deleted
()

Qt5 - это модно и гламурно, всем хомячкам хотеть и фапать;

Ну и перелезут все и не будут плакаться

Да и вообще, ну его в опу этот небезопасный и сложный c++

Мир очнулся?

Вопрос главный в другом, почему полтекста о M$? Связи никакой

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

>процедуру приёма Candidate
Шо?

Вопрос был «как сделать», ответ есть, чем недоволен? Реализации, кстати, тоже есть. Или ты мне сейчас скажешь, что в IE6 это не работает? Смешно.

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

>Ты с какого века к нам? :)
Из прошлого. Просто я на яваскрипте не программирую почти, больше на плюсах в последнее время.

А некоторые и мышей едят ©

Ням-ням чо.

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

>Это не финты ушами, в данном случае это стандартный пример

… жабаскриптового быдлоязыка, я же говорю :}

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

lua быстрее питона и жабаскрипта, а новый luajit с FFI быстрее lua раза в два. Просо jascript намного популярней, а lua используется в основном в gamedev'е ну и VLC из-за простоты имплементации с С-кодом.

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

>Про Мигелюшку же кричали, кому не лень, «он продался», деньги на киллера собирали не? http://www.linux.org.ru/forum/talks/4029366

Ну пока гном и без моны нормально работает. Да таже мона, сколько лет развивается, но никаких выдающихся успехов в линуксе не достигла и влияние её минимально. Наверное это поняли фюреры и денег на мону в этом году не дали.

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

Да знаю я, просто пример того, что скриптовый язык не слишком снижает производительность.

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

Она была немного медленнее, сейчас стала побыстрее раза в 2 чем V8. Javascript не только популярней, просто у него есть преимущество перед lua, на нем можно писать под веб и есть набор библиотек, а на lua довольно скудный функционал.

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

Почему куда не нужно? Я предлагаю его использовать только для работы с гуем.

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

После чего KDE-шники форкают Qt и развивают


А как ты будешь им зарплату платить?

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

>Вот простой пример работы с событиями на яваскрипте http://pastebin.com/3QbBvzGT .
Эм… На пейтоне навесить диалог на нажатие кнопки — одна строка. Из коробки и без костылей. Особенно без костылей вроде button = document.getElementById('some-button-id');

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

процедуру приёма Candidate

Шо?

Вопрос был «как сделать», ответ есть, чем недоволен? Реализации, кстати, тоже есть. Или ты мне сейчас скажешь, что в IE6 это не работает? Смешно.

IE не пуп земли. Candidate перестанет быть кандидатом когда 1) он реально востребован 2) непротиворечиво описан и вообще соответсвует идеалогии 3) реализован на платформах членов консорциума ; если первые два пункта не имеют касательства к топику и проходят вполне тихо, то последний ясно говорит - ваша фича должна реализоваться на Gecko/WebKit Qt/Gtk (AIR/Cairo) и так далее. За это все монстры и бодаются. MS не пустит Candidate в стандарты который у неё крив. А прочие наоборот. и так далее..

Я уже говорил - какой-то бессмысленный спор получается. Если элемент интерфейса нереализуем бэкендом, то все потуги JS это эмулировать - просто костыли. Соответственно развитые системы Qt Gtk никуда не денуться.

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

Тащемта я устал, я ухожу. Не хотите использовать javascript сегодня и не надо, он и до завтра потерпит, а пока тратьте бесценные минуты своей жизни на программирование гуев на с++.

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

> Я думаю приятние, особенно если также вынести синтаксические деревья в отдельную либу.

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

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

>Javascript не только популярней, просто у него есть преимущество перед lua, на нем можно писать под веб и есть набор библиотек
На lua тоже можно писать под веб (пусть и serverside) и на порядки больше библиотек. И?

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

>тот же интерфейс youtube.com гораздо лучше чем интерфейс его десктопных просмотрщиков.
mplayer >> youtube.com. Кроссплатформенный, не прибит ни к чему, не глючит, код интерфейса не слишком большой.

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