И так, давайте начнем с того, что должен знать и уметь человек, чтобы стать Android разработчиком? Скиллсет будем смотреть по вот этому Roadmap
Пользователь
The Best Golang framework: no framework?
Вольный перевод статьи на ресурсе threedots.tech от Robert Laszczak - главного инженера в SlashID, сооснователя Three Dots Labs и создателя популярной Golang-библиотеки Watermill.
На протяжении некоторого времени я занимался руководством группы Go-разработчиков и одним из самых распространенных вопросов от начинающих специалистов был - "Какой фреймворк мне следует использовать?".
Взрослый back-end на node.js возможен?
В экосистеме Node.js существует довольно много библиотек и фреймворков, которые пользуются определенной популярностью в сообществе. Но ни один из инструментов не решил главную проблему, с которой сталкиваются разработчики, когда пытаются писать бэкенд на Node.js. Это проблема выбора архитектуры.
Хочу обратить ваше внимание на относительно молодой фреймворк Nest.js. Из коробки он предлагает заранее предопределенную архитектуру, которая заточена под максимально удобную поддержку и масштабируемость вашего приложения. Заложенные архитектурные подходы проверены временем и давно используются в других, более зрелых платформах: Java(Spring), Python(Django), PHP(Laravel) и прочих.
Авторы Nest.js не скрывают, что их вдохновил один из популярных фреймворков для клиентских приложений — Angular.js, а его авторы ориентировались на походы, используемые в Java и C#. Если вы знакомы с Angular.js, то увидите в Nest.js много схожих идей.
Внедрение зависимостей (Dependency Injection) с GetIt во Flutter
Внедрение зависимостей - DI - Dependency injection - термин часто встречающийся на собеседованиях. Сам по себе концепт опирается на более объемный принцип инверсии зависимостей (буква D в SOLID), но намного проще и ближе к практике. Кратко можно сказать, что при внедрении зависимостей, мы задаем значения переменных объекта в момент выполнения программы, а не в момент компиляции.
В этой статье я постараюсь показать, что использование библиотек для DI - это легко и удобно, даже для небольших проектов и опишу три случая с кодом ДО и ПОСЛЕ. Надеюсь, даже в небольшом проекте сразу станет понятно, что код после применения внедрения зависимостей стал чуть-чуть лучше.
Часто программисты не понимают, для чего им в их небольших проектах, которые далеки от тысяч файлов корпоративных громад, нужно внедрение зависимостей. В таких проектах не описываются интерфейсы, используются одни и те же классы, экземпляры которых можно передать всем, кому это необходимо. На самый крайний случай, используются синглтоны для получения единственного экземпляра класса во всем приложении.
Работать мы будем с достаточно популярной библиотекой GetIt. Проект минималистичен: приложение показывает погоду в настоящий момент с использованием одного из двух сервисов: Yandex.Weather или VisualCrossing. Если пользователь разрешит, то учитывается его местоположение и погода будет актуальна для его города.
Flutter. Асинхронность и параллельность
Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в Dart
(и Flutter
в частности).
TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы знакомы с механизмами Event Loop, Future и async/await (например, в JavaScript), корутинами в Кotlin, скорее всего, вы не найдёте для себя много нового. Однако, реализация многопоточности в виде механизма Изолятов имеет особенности.
Flutter вот-вот завоюет Web
Современные Web-сайты пишутся на HTML, JavaScript и CSS (и этот сайт в том числе). Наверно, вы сейчас прочитали это и подумали «да это же очевидно». А если я вам скажу, что можно написать сайт без использования этих трех технологий, у вас наверняка возникнут вопросы…
Flutter 2: что нового
Flutter for Web и null safety в Dart переходят в стабильную версию, бета-версия Flutter for Desktop и многое, многое другое!
Перевод официального анонса Flutter team с комментариями от Flutter Team Lead Surf Евгения Сатурова
Сегодня мы с радостью объявляем о релизе Flutter 2. С тех пор, как вышел Flutter 1.0, прошло чуть больше двух лет, но за этот короткий срок мы внесли 24 541 исправлений и смёрджили 17 039 пул-реквестов от 765 членов сообщества. Отдельное спасибо нашим волонтёрам за то, что щедро тратят своё свободное время на улучшение Flutter. Flutter – самое настоящее коллективное детище, и мы бы не добрались до второй версии без тех, кто сообщал нам о проблемах, отправлял пул-реквесты и проверял код. Этот релиз посвящается всем вам.
Советы начинающему GameDeveloper’у
Недавно довелось заниматься поисками джуна на позицию Unity Developer’а. В процессе, выяснилось, что у большинства кандидатов плюс-минус одни и те же пробелы в знаниях. Дабы каждому не накидывать одни и те же сообщения с рекомендациями, возникла идея данного поста.
Сразу оговорюсь, что статья ни в коем случае не претендует на истину, это всего лишь субъективное мнение автора. Постарался собрать ресурсы и советы, которые либо использую сам, либо за которые многое бы отдал лично, когда был на старте карьеры.
Flutter ListView и ScrollPhysics: Детальный взгляд
Некоторое время назад я написал статью об основах использования ListView и GridView во Flutter. Эта статья предназначена для более детального изучения класса ListView, ScrollPhysics, а также параметров конфигурирования и оптимизаций для общего виджета.
ListView во Flutter представляет собой линейный список прокручиваемых элементов. Мы можем использовать его для создания прокручиваемого списка или списка повторяющихся элементов.
Быстрее нативной разработки: опыт внедрения Flutter в крупной компании
Хотя сообщество мобильных разработчиков давно нахваливает Flutter, большие компании не спешат переходить на эту технологию. Так получилось, что здесь мы стали одними из первых: когда понадобилось быстро выпустить новое приложение, мы взвесили все «за» и «против», опробовали гугловский фреймворк и остались довольны. Чем хорош Flutter, как выстраивается процесс разработки, где искать специалистов, какие нюансы и подводные камни нужно учитывать – обо всём этом расскажем под катом. Поехали.
Четыре приема быстрой разработки на Unity3D
Уже долгое время Unity3D — мой любимый инструмент разработки игр, которым я пользуюсь уже более 8 лет — и для профессиональных продуктов, и для личных проектов, и при обучении программированию и гейм-дизайну. Более того, я писал на Unity почти на всех гейм-джемах, в которых участвовал, благодаря чему получалось создавать основу игры всего за несколько часов.
Как вы, наверное, знаете, гейм-джем — это конкурс разработчиков игр, участники которого делают игру с нуля за короткий период времени. Гейм-джем обычно идет от 24 до 72 часов, но бывают и более длительные — например, GitHub Game Off, который длится весь ноябрь.
После участия в различных гейм-джемах, в том числе и с самодельным движком моей группы на C++ (к сожалению, он только на португальском языке), я составил список правил быстрого прототипирования, которые вскоре превратились в мой основной принцип разработки ПО: меньше кода — быстрее работа.
Основная идея — писать меньше кода (или, иначе говоря, держать меньшую кодовую базу) — решает две задачи:
Защита от ошибок: чем меньше размер кода, тем меньше вероятность сделать ошибку.
Экономия времени: при каждом изменении кода нужны обновления и тесты, что требует времени.
А для Unity есть и третья причина: каждое изменение в коде запускает обновление Unity, на что регулярно тратится некоторое количество времени.
В этой статье я расскажу о нескольких приемах, позволяющих легко реализовать этот принцип в Unity3D и таким образом ускорить прототипирование и создание игр в целом.
Финляндия для разработчиков игр: маленькая страна с большими возможностями
Финны умеют делать не только крутую музыку, но и отличные игры. Страна с населением в каких-то 5 млн человек и лишь 240 игровыми студиями может похвастаться оборотом игрового рынка в €2,2 млрд. Вам знакомы такие названия, как Supercell, Rovio, Remedy Entertainment, Housemarque, Seriously Entertainment? Все они — финские студии.
Более того, Финляндия стала центром притяжения ведущих геймдев-компаний мира: в Хельсинки открыли офисы Ubisoft, Electronic Arts, Epic Games, Huuuge Games, Zynga и другие.
Это удачное место для софтлонча: финны — платящие (и привыкшие платить!) пользователи с западным менталитетом и приятным ARPU в $48.
А вы знали, что в Финляндии государство спонсирует стартапы и игровые студии, а зарубежных разработчиков ждут с распростертыми объятиями? Мы в Alconost решили узнать об этих заманчивых перспективах побольше и пообщались с экспертом в финском геймдеве.
JavaScript, Python или Go: что лучше всего подойдёт для бэкенд-разработки в 2021 году?
Но если вспомнить прошлое, окажется, что языки программирования имеют огромную историю. В их истории было множество заметных событий, оказавших серьёзное влияние на индустрию. Например, C и Java, одни из самых старых языков программирования, до сих пор находят широкое применение. Но если поинтересоваться их популярностью, окажется, что сейчас они занимают не самые высокие позиции.
Я — программист. Мне очень нравится JavaScript (у меня с этим языком, так сказать, «вечная связь»), я пишу на этом языке уже давно. Но если немного оглядеться, то можно заметить, что в мире разработки ПО есть и другие языки. Предлагаю поразмыслить о том, что лучше использовать для серверной разработки в 2021 году: JavaScript, Python или Go. Но, прежде чем говорить о сильных сторонах каждого из этих языков, давайте взглянем на результаты некоторых исследований.
Flutter. Как прокачать ваш BLoC
Как можно понять из названия — это какой-то необычный блок, а особенность его в том, что он работает в отдельном Isolate (далее изолят) и не тормозит ваш UI.
В чем проблема обычного bloc-а?
Помимо бойлерплейта есть и еще одна проблема — он работает в главном потоке, поэтому тяжелые задачи, типо парсинга json могут привести к фризам в UI.
С первой проблемой могут помочь библиотеки по типу simple_bloc или cubit. Со второй — изолят, или обертка над ним — Compute. В принципе это действительно хорошая связка, которую используют многие, но даже она решает не все проблемы. Например, в изоляте нельзя работать с MethodChannel, и в принципе его использование сопряжено с неудобствами и бойлерплейтом.
Бесплатные образовательные курсы: бэкенд-разработка
Без бэкендеров не сможет нормально функционировать ни один сайт или приложение. Они проектируют алгоритмы взаимодействия сайта с пользователем и другими интернет-сервисами. Другими словами, бэкенд-разработчики создают и оживляют мозг, который принимает запросы, общается с базой данных и передает нужную информацию юзеру.
Сегодня мы отобрали 19 бесплатных курсов из раздела Образование на Хабр Карьере. Они дадут вам базовые знания о языках и технологиях, которые используются в бэкенде, и помогут определиться, нужно оно вам или нет. При выборе мы смотрели на содержание, количество выпускников и репутацию школ.
Алиса на Kotlin: превращаем код в Яндекс.Станцию
В июне Яндекс устроил онлайн-хакатон среди разработчиков голосовых навыков. Мы в Just AI как раз обновляли наш опенсорсный фреймворк на Kotlin, чтобы поддержать новые прикольные фичи Алисы. И нужно было придумать какой-то простенький пример для README…
О том, как пара сотен строк кода на Kotlin превратилась в Яндекс.Станцию
Анонс Flutter 1.20
Всем привет, я Евгений Сатуров из Surf. Представляю перевод официальной статьи про последний апдейт Flutter 1.20 с моими комментариями. Фреймворк с каждым новым релизом становится всё более отполированным, и сегодня мы рассмотрим, что принес нам stable-канал в конце лета.
Как IT-гиганты помогают образованию? Часть бонусная
Однако тремя гигантами плюшки для учащихся не ограничиваются. Под катом — бесплатный софт, обучающие курсы, бесплатный облачный сервер, домены и даже колокейнш своего сервера на год. Но только для студентов.
Litho: лучшие практики для создания эффективного UI в Android
Как его использовать, что происходит под капотом, и действительно ли с UI можно работать только из одного потока?
Cookbook по Litho в расшифровке моего доклада с конференции Mobius 2019 Moscow под катом.
Flutter. BlOC, Provider, async – архитектура «по полочкам»
Вступление
Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVVM, MVI и т.д. Предположим вы решили пойти самым модным путем (тем, что советовал Google в 2018 году) и использовать BLOC. Что это? Как этим пользоваться? А может Redux или RxDart? – хотя стоп – это же про «другое» … А все-таки что дальше? Какие библиотеки подключать? Bloc, Flutter_bloc, bloc_pattern и т.д.?
Такое количество вариантов архитектур и инструментов для их реализации действительно может на долго затянуть стадию выбора.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность