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

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

Уважаемые читатели, когда минусуете статью / карму, то пишите, пожалуйста, причину. Так как этот опыт для меня в целом новый и мне хотелось бы видеть свои ошибки.
Спасибо!
Думаю минусы за первое предложение.
Но это же шутка. Разве не было понятно? :)
Если бы мне хотелось «легкой кармы», то выбрал бы формат полегче…

Хотя… на будущее буду знать, что слово «карма» в статье надо употреблять осторожней.
JPEG
Не понравились «нативная» «скилованность» и прочие англицизмы. Живу в Канаде лет уже 20, английский знаю, но такие перлы как-то неприятно действуют на уровне желудка.
Да, вынужден с Вами согласиться, что звучит плохо. К сожалению, в моей речи иногда такое проскальзывает, если еще буду писать, то постараюсь исправиться! :)
Я минус не ставил, но, тем не менее, рекомендую обратить внимание, что есть зафиксированные названия для элементов, которые и в приложении «Руководство» обозначены: экран блокировки, домашний экран, лента событий, сетка приложений, верхнее меню.
Вот спасибо! Я просто использую специально английскую локализацию.
Почему нельзя плотно интегрировать ART в эту ось? Один черт все разрабы переехали на две платформы и слезать с них не собираются.
Я не разработчик ОС, но мне кажется, что пока тупо руки не доходят. Ресурсы у Jolla довольно ограничены.
Опа, нашел пост на эту тему на together.jolla.com
there doesn't seem to be a technical reason for not updating to android API level ≥ 17. Currently SFOS only supports opengl ES 2 but version 3 is just supported but not mandatory for 4.4-KitKat The same is true with bluetooth LE. There is 'support' in KitKat but it is not required… ART is a technology preview in API 19 and not mandatory either (it shouldn't be implemented in SFOS because it produces code that demands more main memory which is bad for jolla1 and the advantage of starting apps faster is not good enough to impement this)


И что означает «плотно»? Текущее состояние позволяет запускать подавляющее большинство android-приложений.
Плотно это значит чтобы не пожирала ресурсы.
Ок, ну, текущую поддержку я списываю просто на то, что есть более приоритетные задачи у йолловцев :)
Стоит добавить, что ОМП лицензировали SailfishOS у Jolla, и занимаются её доработкой и локализацией (т.е. интеграцией никому не нужных российских сервисов). Российские смартфоны будут работать именно на ней (http://sailfish-club.ru/2016/06/russian-sailfish-announced/). Также очень скоро запустят производство неубиваемого Turing Phone.
Новое окно events очень напоминает BlackBerry Hub.

Посмотрим, может, в следующем году возьму себе аппарат на sailfish'e, а пока что руки не дошли…
Спасибо за обзор!
Рад, что обзор оказался полезным :)
А в чём и на каких языках под эту ОС предполагается писать приложения? Неужели только архаичный C++?
SDK основан на QT Creator, пишется в основном все на QML/C++. Не вижу архаичности, довольно современный и быстроразвивающийся стек. :)
Вообще говоря технологии в области языков программирования уже ушли существенно вперёд, смотрите Swift, Rust и т. п. Почему-то почти все мобильные платформы, упорно использовавшие C++ «а мне всё норм, отличный язык», уже почили [кто там минусит — минуси, не минуси — а так оно и есть].
Потому что помимо языка существует ещё и среда программирования, тот набор инструментов, при помощи которого происходит сборка проекта. У C++ она если не худшая в мире, то одна из худших. Ни один другой язык не создаёт столько проблем при сборке приложений. Шанс, что скачанный с Github'а проект внезапно откажется собираться на машине пользователя, вынуждая заниматься многочасовым шаманством, в случае C++ просто зашкаливает, таких проблем на ровном месте ни одно другое окружение не создаёт.

C++ не привязан к какой-то системе сборки, можно использовать CMake, qmake и все остальное. То же самое и со средами разработки.

Оооо, это вы зря. Может и не привязан, но код написанный и протестированный на одной ОС может не собраться, а иногда собраться, но сегфолтить на другой. С Qt я получал такое в 100% случаев в институте, дома писал и тестировал под Linux, в институте сдавал на Windows, около часа приходилось выискивать где же что не так… Я не говорю, что язык или библиотеки плохие, но платформонезависимым я C/C++ не назову никогда.
И да, сам язык к системе сборки не привязан, но скачанный с Github'а проект как правило жестко привязан и написать правила для другой системы сборки проблемно, а иногда и настройки среды разработки тоже тянутся с проектом и практически нереально с ходу заменить ее на свою любимую, но это для всех языков так, так что к минусам языка я бы относить это не стал.
PS Swift вроде бинарно совместим с C/C++/Obj-C, так что не сказал бы я, что Swift — уход от «Сей», только надстройка.
К слову, насчет 100% кроссплатформенности, на той же Java, в принципе, можно тоже писать так, что на Linux будет работать, а на Windows нет. Но это я так, ради объективности :)
Честно говоря ни разу не писал на Java, когда-нибудь до нее доберусь вероятно. Вообще мне казалось, что весь Java-код исполняется на уровне их же виртуальной машины, а следовательно если виртуальная машина одинакова (версия, разработчик), то и выполняться будет одинаково, но видимо я не совсем прав.
Я чаще использую Python, с ним пока проблем не возникало. GUI на Kivy, os.path для путей, Django для web, хотя надо бы попробовать что-то более легковесное в плане вэба. Разработка на маке, деплой некоторых GUI-проектов на Win, web на Linux и ни одной ошибки относительно переносимости пока не было, под мобилки правда пока не тестировал.
[Говорю на основе опыта программирования на Java чуть меньше 1 года в универе + для себя]
Код Java исполняется в своей виртуальной машине, да. Но тут недавно был случай, писали систему управления контентом и я использовал метод для переименования файла. Сам сижу на Linux, написал, протестировал — все ок. Сделал коммит и тут команда, которая сидит на Windows, начала «плеваться», почему твой код не работает?
Тот день был ооочень веселый, так как я раньше много слышал, что «Java: написал один раз, работает везде», а тут прям мистика творится…
В итоге оказалось, что тот самый метод, который я использовал из стандартной поставки НЕ(!) кроссплатформенный! Для кроссплатформенности был другой… Да, то время было для меня настоящим шоком… Революцией… Срывом шаблонов… :)))

Да, слышал, что Python няшный :) Сам хочу как-нибудь его освоить.
В том-то и прелесть Swift, что он почти так же близок к железу, как C.

Я пишу Qt-код на Linux и он не сегфолтится на Windows. И наоборот. Более того, код даже работает :) Бывали ингода проблемы с разделителями в путях — '\' и '/'.

Плюсую, я не самый прошаренный программист, но писал достаточно объемную утилиту на Qt под Linux и за исключением разницы в путях к файлам она без проблем собралась и заработала под Windows. Я был весьма удивлен на сколько все легко и без проблем прошло.
Ну с путями во многих языках проблемы, а вот в плане механики работы компиляторов и исполнения в C++ творятся интересные вещи. Да, это были мои ошибки либо использование конструкций с «неопределенным поведением» по документации, как правило использовалось такое случайно, да и было это около пяти лет назад, но это не отменяет того, что я не могу полностью протестировать все в одной ОС, пара виртуалок просто необходимы для кроссплатформенного ПО.
Так же недавно столкнулся с проблемами сборки некоторых вещей в NDK андроида и плавающими падениями при исполнении в один поток, при этом при тестировании того же кода на macOS падений нет вообще, а на Windows есть, но другие. Угадайте, на какой ОС я тестирую?
Вообще я C++ люблю за производительность и обилие возможностей, но многих вещей в стандартной библиотеке не хватает, а предсказать работу на другой ОС практически невозможно, поэтому для себя чаще использую Python, с ним проблем не было ни разу. Ну а в продакшене сейчас C++, Obj-C, Swift с продолжительным тестированием на разных платформах, благо их не так много.
PS А еще в Qt по сей день есть проблемы с кодировкой в Windows, при выводе сообщения об ошибке из внешней библиотеки SQLite в QTextBrowser на Windows иероглифы, в других ОС нормальные английские буквы, так и не нашел как нормально сделать перекодировку.
QStandardPaths юзать и не будет проблем с путями ;)
> Вообще, противоречивая фича, с одной стороны они по новой открыли режим «без звука», с другой стороны, это место можно было занять той же панелью уведомлений. Это все реализуется патчем «Quick settings on power menu» из openrepos.

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

> Правда на последней версии ОС у меня этот патч отвалился, возможно, что нужно было откатить его перед обновлением телефона…

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

Вот, кстати, долго думал как назвать, в итоге ничего лучше «панели уведомлений»не придумал… Есть идеи как корректней это окошко обозвать?

Так вроде перед обновлением настоятельно рекомендуется откатить все патчи. Да и патч часто должен вроде как версии соответствовать.

Значит это моя ошибка. Сейчас не могу удалить и переустановить патч. Может быть что-то посоветуете?
> Вот, кстати, долго думал как назвать, в итоге ничего лучше «панели уведомлений»не придумал… Есть идеи как корректней это окошко обозвать?

Честно говоря, нет. Все, что в голову приходит (панель настроек, панель быстрого доступа, панель переключателей) — как-то не то все. Так что пока она для меня безымянная.

> Значит это моя ошибка. Сейчас не могу удалить и переустановить патч. Может быть что-то посоветуете?

Сам пока на эти грабли не наступал, потому могу только немного теоретизировать.
В последнем комментарии на openrepos к упомянутому в статье патчу приводится некая «спасительная» последовательность.
Я так понимаю, грубо сносятся все патчи и переустанавливаются пакеты, затронутые патчами. Но тот же человек в том же комментарии пишет, что не помогло.

Еще можно попробовать поискать ответы и поспрашивать на TMO (talk.maemo.org). Там тоже что-то обсуждалось на эту тему.
Хм, спасибо! На досуге попробую.
Да и многие авторы патчей на TMO «обитают».

Ну и последний способ — восстановить систему из чистого аварийного образа. Что-то вроде такого:
http://maemo.su/forum/viewtopic.php?id=7398
Но это уже совсем последний вариант, поскольку будет потеряно все, что было когда-либо установлено. Система будет совсем чистая.
Эх, где ж вы раньше были :) Уже успел запороть свой jolla phone, теперь один вариант — использовать чужие образы. Остаётся вопрос — где гарантия добросовестности тех людей, что делали этот образ?
Я делал, даю гарантию добросовестности.
Единственно, восстанавливать что-то, кроме mmcblk0p28 опасно для функционирования телефона — см. обсуждение по ссылке.
Это окошко можно назвать «hub», по аналогии с blackberry hub?
Хотелось бы вообще больше статей видеть по разработке мобильных приложений на QML/C++ ибо как минимум еще две платформы используют этот-же стек — Blackberry OS и Ubuntu Touch
За видео отдельное спасибо!
Судя по опроснику статью о разработке делать буду, но, скорее всего, она будет скромнее, чем эти видео. Наверное, что-то из разряда «первое знакомство» / «Hello World» + немного вкусностей :)
Такая тоже пригодится. Успехов!
НЛО прилетело и опубликовало эту надпись здесь
На Ваш вопрос лучше всего отвечает вот эта картинка:
Заголовок спойлера
image


Официальный аккаунт на github.

UPD: У меня картинка чуть старше, более актуальная в ответе выше.
НЛО прилетело и опубликовало эту надпись здесь
По-моему, неоправданное ощущение, с учётом того, что не открытыми являются только компоненты Silica и некоторые приложения. Бэкграунд открыт.
НЛО прилетело и опубликовало эту надпись здесь
Если посмотреть на историю коммитов в Mer, то выяснится, что многое в нём сделано людьми из Jolla.
НЛО прилетело и опубликовало эту надпись здесь
Наследие Harmattan имхо…
Почему писали «с нуля», очень даже понятно.
На момент начала создания все наработки Nokia ушли в Microsoft, в том числе патенты по UI.
А такой штуки, как унифицированные QtComponents, просто ещё не существовало.

Вопрос по поводу закрытости появляется довольно часто.
Jolla его время от времени комментируют.
Например, тем, что нет ресурсов для обработки всех коммитоа от сообщества, если бы исходники были открыты. А пускать процесс разработки на самотёк — значит потерять над ним контроль, что приведёт к фрагментации.

Сейчас все свои собственные пожелания можно делать в виде патчей и выкладывать на openrepos.
НЛО прилетело и опубликовало эту надпись здесь
Ну, Unix тоже не сразу стал свободным :) Думаю надеюсь, что со временем разработчики до этого дойдут.
Насчет интерфейса, где-то видел инициативу по разработке открытого UI для Sailfish OS, даже были (если не путаю) релизы. Но ссыль не готов сейчас дать, надо гуглить…
Возможно вас заинтересует ещё одна полностью открытая мобильная ОС — LuneOS (форк Open webOS).
Она ОЧЕНЬ сырая, но развивается потихоньку.
UI вообще написан на qml и его «можно» запустить в qtcreator без кросс-компиляции и эмулятора.
Хм, интересно… А может быть Вы как-нибудь напишите небольшой обзорчки по данной ОС?
Возможно когда нибудь попробую написать, но для этого она должна стать намного стабильней. На данный момент я думаю что просто всех интересующихся распугаю.:)(но думаю разработчиков эта ОС может заинтересовать прямо сейчас).
НЛО прилетело и опубликовало эту надпись здесь
Ну, просто можно хотя бы небольшой очерк, чтобы узнать, что за фрукт это.
Спасибо, добрый человек! :)
"-Fairphone 2
-Intex Aqua Fish (официальная поддержка)
-порты: Nexus, OnePlus X (говорят, что не плохой порт)"

А Oysters?
Спасибо, обновил статью.
-Спасибо вам QML/C++, что продлеваете жизнь моего телефона от одного заряда


А есть какие исследования на эту тему? Все же логика там по большей части пишется на JavaScript, а разметка (вроде) динамическая. Помню когда писал небольшое QML приложение — памяти оно съедало немало. Сомневаюсь, что разработчики приложений будет сильно увлекаться C++ — это сильно скажется на скорости разработки.
А есть какие исследования на эту тему?

Исследований нет, это на уровне ощущений. Телефон на андроид с аналогичными характеристиками и батареей столько не живет. И памяти все кушает довольно мало — я же как-то спокойно уживаюсь на 1 гигабайте оперативной памяти.

Сомневаюсь, что разработчики приложений будет сильно увлекаться C++ — это сильно скажется на скорости разработки.

Ахах, да со мной такая же «беда» приключилась, думал, так-с пора внести свой вклад в платформу, так есть няшный С++… В итоге, GoAlexander проматерился по началу из-за не знания всех этих стеков + не знания как линкуется QML и C++… и… в конце концов написал все на QML :)))
месяц на Nexus5 с сейфишом. Система устраивает полностью. Именно система, а вот приложения… есть некоторый недостаток. Вибера нет и не будет в ближайшее время, вконтактовский kat ущербный — пользуюсь мобильной версией. Клиент инстаграма написал сам :) https://github.com/neochapay/Prostogram/ эх славные времена, когда мужчины писали драйвера сами для себя :))))
Вибера нет и не будет в ближайшее время

А у Вас ведь нет поддержки андроид приложений?

вконтактовский kat ущербный — пользуюсь мобильной версией

Да, ущербный, но лично мне хватает. Плюс готов Вас порадовать разработка kat продолжена, правда в довольно медленно темпе. Сейчас разработчик синхронизирует кодовую базу с Titanim. Так что я надеюсь, что все будет хорошо :)

Клиент инстаграма написал сам :)

+1 Вам в карму за клиент. Сам не использую инстаграмм, но клиент довольно неплох :)
А у Вас ведь нет поддержки андроид приложений?

Нет, да и смысл пересаживаться на ось если используешь куски другой?
+1 Вам в карму за клиент. Сам не использую инстаграмм, но клиент довольно неплох :)

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

Ну, я бы назвал этот эмулятор «затычкой для переходного периода». Неплохо нивелирует киллер-фичи андроида :)
НЛО прилетело и опубликовало эту надпись здесь
Можно начать с того, что Adnroid, даже с «кастомным лаунчером», не сможет добраться до интерфейса Sailfish OS.
А в остальном, Sailfish OS менее требовательна к ресурсам: память, процессор, батарейка.
Плюс, не нужно делать никакого рутирования, ломая гарантию — всё сразу есть «из коробки», если активировать режим разработчик: bash, ssh и т.п. В общем, вполне себе Linux, только в мобильном устройстве.
Да, и у Android нет такой фишки, как openrepos.
НЛО прилетело и опубликовало эту надпись здесь
Вот если говорить о «телефоне для разработчика», то не видел удобнее линейки, чем Nokia N900, Nokia N9/N950, ну и устройств на Sailfish OS, как продолжение.
Установить на Nokia N9 ещё возможно?
Сейчас реально купить смартфон на SailfishOS? Ничего не нашел…
Если честно, серьезно не интересовался этой темой, но если хотите «прямо сейчас», то лучше всего, наверное, купить что-то типо nexus/oneplus x и накатить на него Sailfish OS (пользователь neochapay так и сделал) или покупать Fairphone 2 и тоже накатывать Sailfish OS.
Но на Вашем месте я подождал бы этот год, пока в продаже не появится Intex Aqua Fish (не факт, что будет в продаже в России) / Oysters SF.
Использую nexus5x но для него по моему нет образа и без глюков не обойтись…
Подожду..) Спасибо
Лично я покупал свой Jolla 1 (снятый с производства) у официального представителя в России -> shop.jolla.ru, но сейчас он переадресует на https://buyon.ru/361131/jolla-belyy-16gb/
В байоне сделал предзаказ и позвонил им, сказали что последняя партия была в декабре и ряд ли будет еще…
Да, его больше не производят. :(
В конце месяца будет летняя школа по Sailfish OS:
https://habrahabr.ru/company/innopolis_university/blog/305120/
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории