Ну, прога, скомпиленная под винду не заработает просто так в линуксе. Так же прога, скомпиленная под Symbian на BlackBerry не заработает. Придётся (в случае Qt) пересобрать прогу под эту платформу из исходников. Лишь бы порт хороший был, а то в первых версиях Qt под Symbian некоторые функции не работали.
WINE — Wine Is Not Emulator
Wine — это альтернативная реализация Windows API. Она не эмулирует процессор, то бишь wine на ARM-архитектуре вам никаким образом не поможет. Хотя есть «особые» случаи. Например, если доступны исходные коды виндового приложения, можно попробовать собрать его для ARM target-а с помощью winegcc прилинковавшись к libwine. Есть ещё один вариант — запускать wine с помощью qemu с использованием binfmt_misc. Это позволит относительно прозрачно запускать виндовые приложения на ARM, но работать это будет крайне медленно. wiki.winehq.org/ARM
Так с прогой на чистом qml проблем перекомпиляции не возникнет. Но я бы всё-таки специально делал компоненты под разные платформы не полностью переносимыми, чтобы HIG целевой платформы уважали!
Ну так и хорошо, API сделать более менее общим для платформ, а import'ы разными. Хотя было бы классно в qml что-то типа ifdef'ов получить, а то извращаться с jsом некрасиво.
Только нет толку с этой пользовательской базой для HP если они платформу скинули так.
Пользовательская база получилась не при делах и даже не принадлежит HP, а принадлежит платформе webOS, у которой пока нет будущего и нормального хозяина.
«Объявили широко» ещё в октябре прошлого года на DevCon 2011. И даже на Хабре упоминалось. И даже были топики о том как портировать Qt приложение на PlayBook :)
ну не обязательно на C#, но то что часть BCL является CIL — это факт.
Да и не важно на чем написан CLI, ведь не важно что Linux написан на C, это не мешает на Qt писать приложения, которые хорошо работают с системными вызовами? А ведь ядро линукса и системные библиотеки по факту и выполняют роль CLI.
Тоже самое касается и Java.
И для JS разработчика не важно на чем написан браузер, ведь правда?
Поэтому тот факт, что часть .NET написана на C++ не превращает Silverlight GUI в C++ GUI.
Как можно сравнивать язык с платформами?
Чем язык С++ хуже чем C# или Java? Там нет GC, но есть толпа умных указателей, при правильном применении которых особо думать о памяти не нужно будет.
В Objective-C для iOS тоже нет GC, и это не мешает толпе веб-разработчиков писать приложения. (я знаю про ARC, но это не GC).
В общем я считаю, что Qt/Quick как платформа не хуже, чем Dalvik и .NET/Silverlight под Андроид и WP7.
под Маком не было ARC, там был как раз GC (хоть и опциональный). Хочешь — испльзуй, не хочешь — не используй.
ARC — это вообще статическая фишка компилятора LLVM3, которая стала доступной с выходом этой версии компилятора в 2011 году. Так что в рантайме остается все тот-же подсчет ссылок.
А мне кажется не взлетит. У каждой платформы свои UI guidelines, свои особенности архитектуры. Просто так взять и портировать можно очень малое количество приложений. И все равно они будут выглядеть не так, как изначально разработанные под платформу вещи.
Конечно, Qt это хорошо, но сейчас вместе с раздачей планшетов за Android/AIR/Native apps это выглядит как истеричные попытки хоть как-то спасти свой PlayBook, а заранее продуманные «изюминки» платформы. Поэтому есть опасения, что и качество реализации будет тоже стихийным.
Ну вообще Qt умеет очень неплохо «мимикрировать». Оно умеет выглядеть нативно (ну или почти нативно) как под Windows, так и в GTK-шном окружении. К тому же там вид виджетов может быть изменён до неузнаваемости, при необходимости.
Я имел в виду под «не взлетит» конкретно PlayBook, и высказался очень положительно про Qt. Я нахожусь еще под впечателнием от Android Runtime for Playbook: пишите под андроид, и за минуту портируйте. Вот это круто! Но: кнопка «назад» будет не нативной (если будет вообще), нет кнопки «меню», «свайп» вниз занят для реализации этого меню (в проге не использовать), нет bluetooth, камеры, sms, mms, не поддерживаются многие форматы медиа, многие permissions. Это я называю плохим качеством реализации. И опасаюсь, что и с Qt может быть так же.
А что мешает нативную кнопку назад сделать? Что мешает меню сделать?
В общем, что мешает качественно портировать прогу под BB, используя нативные для BB средства?
Можно разделить логику и представление, и не переписывать функционал по 5 раз.
Никто не говорил что взяв Qt, вы сразу избавитесь от необходимости интеграции в ОС.
Просто многое сделают за вас.
Вот бы уже Qt завоевало остальные платформы окончательно и пропал весь этот зоопарк, из-за которого одно и тоже приходится переписывать по 5 раз на разных языках.
На скриншотике презентации нарисован C++, значит не только QML/JavaScript, что радует. Прям как Sutter обещал что мобильные платформы имеют тенденцию на предоставление доступа к native code/C++.
Предыдущая ОС позволяла писать только на Java (хотя начиная с 6.0 добавили ещё HTML5).
Новая ОС (которая основана на QNX) будет позволять писать на Qt (т.е. C++/JavaScript), HTML5, ActionScript (Adobe AIR) и ещё дополнительно есть Android Player для приложений, написаных с использованием Android SDK.
RIM продолжает себя хоронить. В сентябре они тоже самое объявили про поддержку Android приложений (которой до сих пор так и не появилось). Приклекая интерес к платформе в целом, RIM отбивает интерес разработки под нативную ОС (а зачем, ведь скоро можно будет просто портануть), а обещанного в срок не выполняет, всё глубже вгоняя гвозди в собственный гроб.
Так и валяется на полке отличный планшет с пустым маркетом и без нативного почтового клиента, календаря и менеджера контактов. Только Evernote радует.
А зачем вообще велосипедить свою уникальную платформу? Проще взять наиболее удачную и с большим коммьюнити, на которую Qt может претендовать по праву и просто родить граммотное руководство по пользовательскому интерфейсу вместе с компонентами для его отрисовки.
>которой до сих пор так и не появилось.
Появилась. В бета прошивках.
Регистрируем девай по PIN тут. Через пару минут проверяем обновление на устройстве, или в DM.
В текущей 7111 сборке есть проблема с вводом на русском в браузере, но Android приложения пересобираются и работают без проблем (конечно там есть куча ограничений по совместимости..). А вообще умельцы выдернули из Android родной email-клиент и теперь почта на плейбуке есть.
>В сентябре они тоже самое объявили про поддержку Android приложений (которой до сих пор так и не появилось)
А вы услышали «будет поддержка Андроид» и решили, что это случится прямо на следующий день? Её «до сих пор не появилось» потому, что «до сих пор» не вышла Tablet OS 2.0. А она «до сих пор» не вышла потому, что конец февраля (к которому они её, собственно, обещали) ещё не наступил.
>Так и валяется на полке отличный планшет с пустым маркетом и без нативного почтового клиента, календаря и менеджера контактов.
Похоже, он вам особо и не интересен, раз вы не следите за новостями. Вот, к примеру, видео месячной давности. А вот буквально сегодняшнее видео, показывающее, что к клиенту помимо интеграции с твиттером и линкедином добавили ещё и фейсбук.
Приложения для BlackBerry Playbook можно будет писать на Qt