Pull to refresh

Comments 36

UFO just landed and posted this here

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

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

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

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

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

UFO just landed and posted this here
Честно говоря, другими языками я владею заметно хуже, чем С++, так что не могу объективно сравнить)
А qml считается очень простым, и на нем можно писать полноценные приложения)
UFO just landed and posted this here
Не совсем. Я просто восхваляю 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 с каждым приложением для Сэйлфиш не нужно? Какой минимальный размер получается у приложения?

Клиент 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, и это нужно обработать и перевести в символ самостоятельно. Такие вот мелкие различия там явно есть.
Sign up to leave a comment.