Как стать автором
Обновить

Комментарии 36

НЛО прилетело и опубликовало эту надпись здесь

Эм, разве это так очевидно? Тут не уточняется, но вроде на Inoi как раз Sailfish, а на Sony — Android, т.е. на более слабом телефоне отрисовка выходит лучше, чем на более мощном. Без энергосбережения ещё было бы интересно попробовать, возможно, тут эффект не от снижения частоты процессора, а от менее частых опросов конкретно тача.

Честно говоря, я не заметила разницы от включения энергосбережения. Снимала с ним для морального уравнивания шансов)
Под сейлфиш есть полтора приложения, под айос и андроид миллионы, о чем тут еще говорить? Даже Гейтс недавно сказал что без экосистемы операционная система сейчас никому не нужна (конечно кроме нескольких тысяч нердов, но на них не заработаешь). А то что там где-то как то что-то считается быстрее — да кого это волнует уже?

Насколько я помню, в Sailfish есть поддержка Android-приложений, т.е. именно количество так остро сказываться не будет. Да и разве нужны миллионы? Навскидку нужно отсилы 50 самых нежных приложений, и до 1000 желательных, без остального вполне можно жить.
Но вообще, конечно, сама операционка, как приемник MeeGo, в свое время вселяла надежду. Я Вам как пользователь последней могу с уверенностью сказать — уже при широком распространении Android в 2012-2013 году мне вполне комфортно было, а некоторые вещи и вовсе были ощутимо лучше, например камера: на Nokia N9 стояла оптика Carl Zeiss, в сочетании с нативной реализацией приложения получался просто выдающийся результат. Были и другие хорошие приложения. В общем, сплошь приятный опыт. Было бы здорово, если бы за ОСь взялась крупная контора, а не частная компания с непонятными целями...

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

Не полтора. Проблема только небольшим набором приложений.
Во-первых, с банковскими, которые можно надежно ставить только из магазина, но которых в магазине Sailfish просто нет.
Во-вторых, нет нативного офиса (ставится андроидовский).
В-третьих, нет некоторого количества полезных для разных узких применений экзотических приложений (впрочем, часть их доступна из андроидовских).
Остальное (по полезной функциональности, а не по конкретным приложениям) вполне доступно в достаточно качественном исполнении (не хуже, чем на андроиде).

НЛО прилетело и опубликовало эту надпись здесь
Честно говоря, другими языками я владею заметно хуже, чем С++, так что не могу объективно сравнить)
А qml считается очень простым, и на нем можно писать полноценные приложения)
НЛО прилетело и опубликовало эту надпись здесь
Не совсем. Я просто восхваляю Qt перед нативными средствами разработки)
Эм… а где в первом «тесте» что-то кьютовое кроме неиспользуемого QObject'а, вывода qDebug и eventLoop'a?

Ну и:
Я часто замечаю, что Inoi R7 выигрывает по скорости

Samsung Galaxy S8 <...> за 3-4 минуты, а Inoi R7 <...> минут 5-6

У меня оператор сравнения в голове сломался?
1. А в чем проблема использования чистых плюсов/си в Qt? Это разве запрещено?
2. Учтите мощность железа и он обязательно починится)
  1. Пост озаглавлен: "Заменяем производительность Qt", объявлен кьютишный контейнер QVector, но он не используется. Так-то это сравнение плюсОв и свифта, а Qt тут совсем ни при чём.
  2. Чудес бюджетный проц не творит — он медленнее (судя по попугаям) 810 снэпа на, примерно, 30%, что и показывают примерные замеры.
1. Инструмент, а не библиотека.
2. По всем характеристикам Samsung лучше в 2 и более раз, а не на 30%.

Samsung лучше в 2 и более раз, но и потребителей этого перфоманса тоже побольше, чем в бюджетном телефоне.
В первую очередь: Qt это именно библиотека. Код из первого примера скомпилируется и без неё.

2. Я, конечно, не эксперт, но возможно, чисто случайно, это стоило бы упомянуть в том же абзаце.
Я прошёл путь от программирования на ASM «Минск-32» и ЕС ЭВМ до MS ASM и C# (для меня он выше по программисткой производительности, чем C++ с его нестабильной разудалой архитектурой). Я ровесник Билла Гейтса, который ушёл на пенсию. С обидой смотрел, как правители спали более полувека, не давая развития (не давая заказов) массовой микроэлектронике и программированию: слишком дёшево доставалась наёмная инженерная сила советской власти во всё её время существования. За это и расплачивается сейчас вся страна. Дерзайте! Слишком много упущено, но если выбросить «аджайлы» и вместо них заняться системной разработкой при наличии госзаказа и отсутствии «распила» (ещё совсем недавно убедился в обратном в Белоруссии) — в чём очень сомневаюсь при Путине, то можно резко сэкономить по времени. Своя операционная система необходима была всегда по многим причинам и в безопасности — в первую очередь.
Мы тоже надеемся, что все срастется)
Так «Аврора»Sailfish такая же «своя» как сертифицированная ОС «Цитадель». То, что купили лицензию у финов — не делает её отечественной.
Я правильно понял что вы используете Qt для кроссплатформенной разработки? Если да, то скажите как вы боритесь с тем что кросплатформенность у него мозаичная (некоторые части работают только на отдельных платформах) и насколько это вообще критично если постоянно разрабатывать на нем fulltime?
На всякий случай опишу откуда взялся вопрос — у меня есть pet project на qt который я по мере надобности обновляю на новую версию. C выходом os x mojave (и изменений в ней из-за черной темы) пришлось обновляться до новой версии 5.12 и вот тут меня ждал сюрприз — в iOS 5.12 + не запускаются компоненты из Controls 1 (по крайней мере без танцев с бубном, подробно если честно я так и не посмотрел потому как до недавнего времени продолжал пользоваться давно собранной версией с 5.11), а альтернатива того что мне нужно (в основном диалоги)в 5.13 в свою очередь не работает в андроид согласно документации. Конечно, это все решаемо- можно и разными версиями собирать, и всякие платформоспецифические обертки написать, но я в серьез задумался «а надо ли оно мне» или же все-таки послать qt с его не полной кроссплатформенностью (а это не первый раз так, я даже несколько багов в свое время заводил на тему того что очередная фича не работает на той или иной платформе) и посмотреть на что-то еще. Может быть, если писать на qt постоянно на работе это не так критично вот и хочу услышать ваше мнение

Кстати по поводу вашего второго теста — у меня было что-то подобное и если картинки заранее подготовлены и правильного размера, то все хорошо, но вот если их надо ресайзить прямо по месту, то qt сливает — таблица еле скроллится, мне пришлось добавлять кеш для подготовленных картинок. Может в более новых версиях qt это и не так, но раньше все было очень плохо
Очень ярко выражена эта недокроссплатформенность в Sailfish, для них это нативный инструмент и различия колоссальны. Например, у меня main.cpp сделан через условную компиляцию для Sailfish и всех остальных. И такого много.
По поводу GUI:
Я не использую QQC вообще, все на голом QtQuick, ибо это единственная точка пересечения Sailfish с остальными ОС) так что да, пишу велосипеды, иногда сложные, но это весело)
Спасибо за ответ. Голый QtQuick это как-то совсем жесть, хотя я его тоже использовал когда Controls назывались QtDesktop components и не входили в поставку qt.
Controls 1 давно deprecated, не развиваются и considered for removal:

wiki.qt.io/New_Features_in_Qt_5.11 (см. раздел Deprecated Modules),

переползайте на Controls 2. С ними я особых проблем не замечал ни на iOS, ни на Android.
Я выше написал, фактически единственное что мне было нужно это Dialogs, а точнее FileDialog и его в Controls 2 нету, а тот что есть в Qt.labs.platform (не проверял) согласно документации не поддерживается в android.

Ну, FileDialog — это такое… Кроссплатформенность его на мобильниках весьма условна, на том же iOS он абсолютно бесполезен. Так что Qt'шников можно понять.

так на iOS он как раз вроде бы есть, а вот на android его нет хотя уж там-то он вроде нужен

Ну если так, то это, конечно, забавно :)

Быстродействие быстродействием. Но справедливости ради, если брать open-source лицензию Qt, то я готов жертвовать быстродействием ради экономии ~30Мб места (и это с отбрасыванием ненужных модулей/плагинов). Под мобильные платформы, как мне кажется, экономия по памяти важнее экономии по скорости

Кстати, уточню вопрос — раз Кьют родной, то наверное и тянуть его .dll/.so с каждым приложением для Сэйлфиш не нужно? Какой минимальный размер получается у приложения?
На SFOS не нужно тянуть Qt, конечно.
Типичные размеры можно посмотреть на openrepos.net
Например, клиент Телеграм размером меньше мегабайта.

Клиент facebook непонятно чем забивает 150 мегабайт. Но им все же пользуются. Тоже и для всяких электронподелок

Например, работой с TextInput на Android можно пытать особо чувствительных к костылям перфекционистов, потому что на каждом девайсе Qt умудряется ставить абсолютно уникальные палки в колёса при взаимодействии с клавиатурой.

На Android слишком много клавиатур, которые работают «немного по-разному», разные производители любят ставить разные клавиатуры, например, Sony ставит SwiftKey вместо GBoard. Но проблемы постепенно чинятся, утверждается, что в 5.12.5 и далее input on android будет almost perfect:

bugreports.qt.io/browse/QTBUG-43156
codereview.qt-project.org/c/qt/qtbase/+/264060

:)
А вот интересно, проблема с зоопарком клавиатур только у Qt или какая-нибудь Android Studio тоже от этого страдает?
Нативные компоненты, по идее, меньше всего страдают, потому что клавиатуры при разработке тестируются на совместимость именно с ними. Но в целом я регулярно вижу в отзывах на произвольные приложения в Google Play жалобы на проблемы с определённой клавиатурой. В целом я сталкивался с тем, что от GBoard например при нажатии Enter приходит именно символ \n, а от SwiftKey — только событие нажатия клавиши Enter, и это нужно обработать и перевести в символ самостоятельно. Такие вот мелкие различия там явно есть.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий