Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Перемещайте деревянные блоки и направляйте их в ворота, соответствующие их цвету! Это спокойная и расслабляющая головоломка без таймеров и ограничений — играйте в комфортном темпе.

Деревянные цветные блоки

Головоломки, Казуальные, Логическая

Играть

Топ прошлой недели

  • Oskanov Oskanov 9 постов
  • Animalrescueed Animalrescueed 46 постов
  • AlexKud AlexKud 33 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
23
Systemsy
4 года назад

Зимний Кронштадт, Остров Фортов⁠⁠

Показать полностью 2
[моё] Кронштадт Kotlin Длиннопост
3
BOGEMNII2.0
4 года назад

«Студийные» приложения Netflix на Android и iOS теперь с Kotlin Multiplatform!⁠⁠

Примечание от переводчика: при словах «мобильные приложения Netflix» вспоминаются их основные приложения для просмотра видеоконтента, но компания ведёт и «киностудийную» разработку — для тех, кто этот контент создаёт. И их пост посвящён использованию Kotlin Multiplatform во втором случае.



В последние годы Netflix разрабатывает сервис Prodicle для индустрии производства телесериалов и фильмов. Мир съёмок живёт на высоких скоростях, а его запросы существенно различаются в разных странах, регионах и даже проектах. Его специфика означает, что мы делаем софт с упором на запись, в распределённом окружении, причём на съёмочной площадке интернет-соединение окажется очень надёжным менее чем в трети случаев, а право на ошибку у нас ограничено. Поэтому мы, будучи маленькой инженерной командой, обнаружили, что оптимизация надёжности и скорости выпуска продукта просто необходима нам, чтобы успешно отвечать растущим запросам наших клиентов.


Поскольку сетевое соединение часто оказывается ненадёжным, мы обратились к мобильным решениям для персистентности на клиентской стороне и поддержки офлайна. А потребность выпускать быстро привела к экспериментам с мультиплатформенной архитектурой. И теперь мы зашли тут ещё на шаг дальше, использовав Kotlin Multiplatform, чтобы писать платформонезависимую бизнес-логику один раз на Kotlin и компилировать её в Kotlin-библиотеку для Android и нативный Universal Framework для iOS с помощью Kotlin/Native.


Поскольку сетевое соединение часто оказывается ненадёжным, мы обратились к мобильным решениям для персистентности на клиентской стороне и поддержки офлайна. А потребность выпускать быстро привела к экспериментам с мультиплатформенной архитектурой. И теперь мы зашли тут ещё на шаг дальше, использовав Kotlin Multiplatform, чтобы писать платформонезависимую бизнес-логику один раз на Kotlin и компилировать её в Kotlin-библиотеку для Android и нативный Universal Framework для iOS с помощью Kotlin/Native.

Kotlin Multiplatform


Kotlin Multiplatform позволяет вам делать единую кодовую базу для бизнес-логики iOS- и Android-приложений. Вам требуется писать код для конкретной платформы только там, где это необходимо: например, для реализации нативного UI или при работе с платформоспецифичными API.

Kotlin Multiplatform подходит к кроссплатформенной мобильной разработке не так, как некоторые другие известные технологии. В то время как другие полностью абстрагируются от платформозависимой разработки, Kotlin Multiplatform лишь дополняет её, он нацелен на замену только платформо-агностичной бизнес-логики. Он «даёт новый инструмент в ваш набор», а не «выкидывает весь набор инструментов и заменяет на другой».


Этот подход хорошо работает для нас по нескольким причинам:

У наших приложений для Android и iOS общая архитектура со схожей, а порой и идентичной бизнес-логикой на обеих платформах.


Почти 50% нашего продакшн-кода в наших Android- и iOS-приложениях не связано с платформой.


Это никак не мешает нам изучать новые технологии от самих этих платформ (Jetpack Compose, SwiftUI и так далее).

Итак, что мы с этим делаем?

Управление опытом (experience management).


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


Чтобы при росте приложений справляться со сложностью, полезно отделить код, который управляет этими конфигурациями, от самих приложений. И наш первый эксперимент с единым кодом для разных платформ затронул реализацию мобильного SDK для нашего внутреннего инструмента Hendrix, который отвечает как раз за это «управление опытом».


По своей сути Hendrix — это простой интерпретируемый язык, который выражает, как должны вычисляться значения конфигурации. Эти выражения оцениваются в контексте текущей сессии приложения, и могут обращаться к данным вроде местонахождения устройства, его атрибутам, значениям A/B-тестов. В нашем случае мы конфигурируем наборы функций приложения, зависящие от региона, версии и типа проекта.


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


Это привело нас к решению сделать легковесный мобильный SDK для Hendrix — и он был отличным кандидатом для Kotlin Multiplatform, так как требует значимой бизнес-логики и полностью платформонезависим.


Реализация


Для краткости мы опустим конкретные детали о Hendrix и затронем отличия в использовании Kotlin Multiplatform от Kotlin/Swift.


Сборка


На Android всё как обычно. Hendrix Multiplaform SDK подключается с помощью Gradle в качестве Android-библиотеки как любая другая зависимость. В случае с iOS нативный «бинарь» включается в проект Xcode как универсальный фреймворк.


Эргономика разработки


В случае с Kotlin Multiplatorm исходный код можно редактировать,

перекомпилировать и добавлять к нему отладчик с брейкпойнтами хоть в Android Studio, хоть в Xcode (включая поддержку lldb). Android Studio работает из коробки, поддержка Xcode достигается с помощью плагина xcode-kotlin от TouchLabs.

Отлаживаем котлин исходники в икскоде.


Работа с сетью


Hendrix интерпретирует набор правил — удалённо конфигурируемые файлы, которые оказываются скачаны на устройство. Мы используем Multiplatform HttpClient из фреймворка Ktor, чтобы добавить наш код работы с сетью в SDK.


Дисковый кэш


Конечно, сеть может быть недоступна, поэтому скачанные наборы правил нужно закэшировать. Для этого мы используем SQLDelight с его Android и Native Database-драйверами, чтобы получить персистентность на обеих платформах.


Подытожим


Мы внимательно следим за эволюцией Kotlin Multiplatform в последние годы и верим, что технология достигла «точки перегиба». Тулинг и интеграции с системой сборки для Xcode улучшились достаточно, и теперь сложности, связанные с интеграцией и обслуживанием, больше не перевешивают преимущества единой имплементации для разных платформ.

Возможностей для дальнейшего объединения кода между нашими приложениями для киностудий ещё много. Потенциальные будущие применения технологии становятся ещё интереснее, когда мы берём в расчёт, что возможна ещё и транспиляция в JavaScript.


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


От переводчика: обратил внимание на пост Netflix, потому что на нашей конференции Mobius скоро тоже расскажут об опыте внедрения Kotlin Multiplatform в продакшн крупной компанией. Только там речь пойдёт не о малоизвестном нишевом приложении Prodicle, а о суперпопулярных Яндекс.Картах (и расскажут подробнее). Если два таких гиганта, как Netflix и Яндекс, почти одновременно заговорили о продакшн-опыте, значит ли это, что вот теперь время Kotlin Multiplatform пришло?


Вот так вот не ожидали!


https://m.habr.com/ru/company/jugru/blog/527176/

Показать полностью 2
Россия Kotlin Платформа Программирование Длиннопост
0
749
Есть официальный ответ
googlebot
googlebot
5 лет назад

Пикабу, кажется вам надо уволить вашего HR⁠⁠

UPD: уже исправлено #comment_177880561

--

Иначе до вас не дойдут люди, которым вакансия не попадётся в выборке по их стеку

Пикабу, кажется вам надо уволить вашего HR
Вакансии Работа Android Kotlin
177
6
Watermarks
5 лет назад

Kotlin; Студент; Первые шаги;⁠⁠

Всем привет, время идёт и знаний по Kotlin и git становится всё больше, за прошедшую неделю разобрался и потренировался в следующих темах:

1)Коллекции и null исключения(List, Set< Map)

2)Обобщения в Kotlin(class<T>)

3)А так же разобрался с git merge, git rebase


Небольшой блок картинок ниже:))

Книга Head First Kotlin для новичков практически заканчивается, несколько тем и дальше отправлюсь в свободное плавание по поиску информации в сеть.


Но пока поставлю следующие задачи на неделю:

1) Закончить Head First Kotlin(Лямбда выражения, встроенные функции высшего порядка)

2) Разобраться с управлением версиями в git

3) Продумать путь по изучению языка и дальнейшей разработки под android


На этом пока всё)))

Показать полностью 4
[моё] Kotlin Новичок Программирование Студенты Длиннопост
7
Watermarks
5 лет назад

Классы; Интерфейсы; Студент; Первые шаги;⁠⁠

Всем привет, наступает конец недели и время подведения итогов проведённой работы. За прошедшую неделю работы с Kotlin сумел изучить:

1) Классы и наследование(так же абстрактные классы)

2) Разобрался с интерфейсами(на самом начальном уровне)

3) Сумел вникнуть в концепцию полиморфизма


Так же укрепил свои знания в git:

1) Разобрался с созданием веток

2) Научился выгружать данные в репозиторий и на свой локальный компьютер(pull, push, fetch)

3) Так же поработал с интерфейсом GitKraken


Практикуясь и изучая ресурсы по программированию понял, что надо переходить на Linux, слишком много бонусов даёт данная система программистам. Думаю начать с Ubuntu, а дальше детальнее разобраться что к чему в дистрибутивах Linux.


На следующую неделю поставил такие задачи:

1) Продолжить работать с классами(укрепить полученные знания)

2) Разобраться детальнее с коллекциями в Kotlin

3) Продолжить изучение git(в особенности работу с ветками)

4) Начать переход на Linux(Ubuntu)


На этом пока всё, несколько скриншотов работы с классами чуть ниже:

Данный код я позаимствовал из книги head first. kotlin, провёл множество удачных  и не очень экспериментов с абстрактными классами и интерфейсами, и вроде бы даже начал разбираться в этой теме)))

Показать полностью 3
[моё] Начинающий Junior Kotlin Программирование Студенты Длиннопост
24
3
ForesutoHotaru
ForesutoHotaru
5 лет назад
Квадрокоптеры, фото и видео

Западный Котлин⁠⁠

Продолжаем съемки на пляжах вместе с DJI Spark. В этот раз мы оказались на пляже в западной части острова Котлин.

[моё] Аэросъемка Дрон DJI Dji Spark Kotlin Кронштадт Видео Пляж Весна
0
13
pikselnsk
pikselnsk
5 лет назад

Войти в айти. Часть 4⁠⁠

Всем привет. Это четвёртая заметка о том, как очередной персонаж тридцати лет внезапно осознал, что всю жизнь хотел стать программистом, уволился с работы, погрузился в обучение и вот это вот всё. Предыдущий бред тут:

Часть 0

Часть 1

Часть 2

Часть 3


Впереди уже маячит экватор моего пути, пора бы сделать выводы и скорректировать дальнейшее направление развития. Если кратко - отстаю. Действительно, писать новое приложение, поддерживать уже имеющиеся, проходить пару курсов и читать книги оказалось не так быстро. К вечеру котелок начинает заметно закипать и усвоение новой информации ощутимо падает.

Что с учёбой? По андроид, как я уже упоминал ранее, прохожу курс от Skillbranch, бюджетное место на который я выиграл по реферральной программе перед новым годом. Не думал, что будет так сложно. Не думал, что будет так интересно. Посмотрев всё то, что можно было раздобыть на торрентах, складчиках и прочих пиратских гаванях я с уверенностью могу сказать, что это лучшее с чем я сталкивался на просторах it-образования. Конечно, есть свои недостатки, порой пролюбливаются сроки по лекциям, но качество, скрупулёзность материала - высший пилотаж. Макеев Михаил - поклон тебе. Часто вечером досмотрев очередную лекцию внутри лишь ощущение того, будто шёл на утренник, а попал на свингерскую вечеринку с элементами БДСМ. К счастью утром это ощущение проходит и повторные пересмотры с конспектированием и проработкой заданий всё расставляют по полкам.

И самое главное - материал прикладной. У меня есть блокнот в Google Play, я после каждой лекции выношу новые жемчужины и идеи, которые можно будет добавить в обновлении. Работа с текстом, его разметка, поиск, кастомные вьюхи, анимации, темы и многое другое.. Работы впереди очень много, но выйдет мега функционально! Уверен, пользователям понравится. Пример на гифке. (Для тех, кто в теме - это не html, только парсинг markdown разметки, только кастомные спаны, только хардкор🤪)

Также по андройду освоил архитектурные компоненты. Добил котлин, room, корутины и сервисы до нужного мне уровня. Новый будильник написан полностью на этих технологиях. Столкнулся с тем, что многие производители добавляют разнообразные настройки и ограничения, влияющие на работу сторонних приложений, не дающие им нормально запускаться. Всё это направлено на энергосбережение и ограничение фоновой работы. Но в случае будильника это критично, приходится ко многим производителям искать свой подход. То, что работает хорошо на чистом Android, не факт что будет также вести себя на  Xiaomi, letv, oppo, samsung, huawei.. Ъуъ!


По iOS разработке темп ниже к сожалению. Один пират для ознакомления поделился награбленным добром, в котором я нашёл курс по iOS от Отус. Постараюсь извлечь из него знания, которые помогут портировать одно из приложений.


По приложениям.

С внешним видом нового будильника мне помогла замечательный дизайнер Vika Yushchenko. Спасибо ей огромное. Сделал его в более материальном стиле, нежели мои прошлые приложения. Будет очень интересно посмотреть, обгонит ли он своего старшего брата со временем. Ещё бывает так, что пользователи из других стран сами предлагают помощь с переводом. Это очень приятно, принимаю её взамен на указание имён этих пользователей на странице Play Market в соответствующей локализации.

Будильник Malarm. Этот парень забрался на первое место по запросу "будильник" в русской локализации Play Market и сидит там уже около двух недель. Учитывая, что я ни разу не покупал рекламу - это, по-моему, довольно хороший показатель. Пользователи пишут отзывы, иногда письма.

- всего загрузок 85608

- активных пользователей (те, кто не удалили приложение и запускали его хотя бы раз за 30 дней) 34736

- залез на 1 место по запросу "будильник" в play market

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

Основное время загрузок приходится на 21:00 - 2:00 по мск.

Судя по всему необходимо поработать над переводами и добавить настройку выбора отображения первого дня недели и формата времени am\pm-24. Это добавит удобства зарубежным пользователям и позволит поднять загрузки там.


Блокнот Flownote. С ним всё не так радужно. Надеюсь что следующие большое обновление позволит ему завоевать внимание более широкой аудитории.

- всего загрузок 9053

- активных пользователей 4792

Главное, что рост есть и количество активных пользователей не переходит в отрицательное значение. Очень интересно будет почитать отзывы пользователей после того, как он получит новые функции.


Будильник Malarm 2. Он болтается где-то внизу Play Market, установлен всего на нескольких десятках устройств, но поработать я над ним хочу хорошенько. Дождусь пару - тройку сотен активных пользователей, почитаю отзывы, пойму что нравится людям, а что нет и приступлю к обновлению. Хочу добавить в него ещё функцию ночника, таймера и напоминаний. Прикручу пару способов отключений и темы.


Конечно, на цель в миллион загрузок за год это ещё не похоже, но то, что путь верный - это точно. Главное, что бы скачки доллара не вынудили меня растратить свои сбережения на еду и жкх раньше времени. Хочется всё-таки в таком плотном темпе учёбо-работы дожать до ноября, дописать все обновления, ещё 2 приложения на андроид, 1 на iOS и подвести итог всего этого безобразия🤓 Всем добра и достижения целей!

Показать полностью 8
[моё] Android Самообразование Swift Kotlin iOS Google Play Длиннопост Гифка
14
3
Guzer
Guzer
5 лет назад

Конец стажировки⁠⁠

Прошла моя стажировка Android dev. Хочу сказать, что это было круто и дало много опыта, о чём и пойдёт речь в этом посте. Поделюсь советами, как я начинал и какие моменты были ключевыми.

Главное, что я должен посоветовать всем новичкам - учитесь гуглить и желательно на английских ресурсах. Потому что в какой-то момент углубления в язык вы понимаете, что рунэт не всесильный. Это немудрено, ведь англоязычный интернет в разы больше. Уверен, вы и без меня это знали.

Как подготовиться к собеседованию, что смотрят и на что обратить внимание самому?

Начнём с конца
Я хотел работать в компании, где люди кайфуют, минимум штрафов и максимальная лояльность к сотрудникам.
Все эти моменты можно увидеть на собеседовании. Помимо банальных вопросов "а нравится ли вам ваше место работы?" по людям, которые вас собеседуют можно увидеть на сколько они уставшие. У меня это было в двух компаниях. Возможно это не было связано с работой, но это прослеживалось у всех встречных до кабинета людей.
Далее я смотрю на офис и питание. После корпоративную культуру и зп.
У всех свои вкусы, вам решать, что для вас лучше и какие у вас предпочтения.
По деньгам могу сказать, что стажёр может получать от 35 до 75 (да, такое есть), опять же, всё зависит от региона и прочей чепухи.

Как готовиться и на что смотрят?
Очень советую порешать задачки с собесов, их выкладывают тоннами. Можно посмотреть "летиткод".
Будет плюсом иметь по примеру вашего кода на каждую компетенцию, которую вы указали в резюме
-я знаю mvvm и прочие паттерны
-хорошо, расскажите о них
-я и показать могу *открывает свой говнокод*
И это будет плюсом, ведь вы демонстрируете то, чему научились, пусть и криво, но все понимают, что вас надо учить
И жирным плюсом будет собственный проект с применением как можно большего количества технологий, архитектурой и т.п., а если вы ещё зальёте приложения в сторе, то это произведёт впечатление.

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

Ходит мнение, что без опыта никуда не берут, а не берут, потому что мало опыта. Хочется спросить таких людей:"А вы пытались?"

Стажировку найти не так сложно, но это нужно и чем раньше вы её найдёте, тем лучше для вас. Мне стажировка дала понять, что тот год-полтора моего программирования - это полная х¥&#я, ведь за 3.5 месяца мы впитали столько опыта, что и представить сложно. Но это лишь капля в море программирования)

Ожидания от стажировки совпали с реальностью и я этому рад. Это было тяжело и оно того стоило.
Желаю и вам найти свою, ту самую стажировку ;)

Показать полностью 6
[моё] Kotlin Android Работа Программирование Стажировка Длиннопост
25
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии