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

Пользователь

Отправить сообщение

Как стать Android разработчиком в 2023

Время на прочтение6 мин
Количество просмотров102K

И так, давайте начнем с того, что должен знать и уметь человек, чтобы стать Android разработчиком? Скиллсет будем смотреть по вот этому Roadmap

Читать далее
Всего голосов 14: ↑12 и ↓2+14
Комментарии33

The Best Golang framework: no framework?

Время на прочтение9 мин
Количество просмотров12K

Вольный перевод статьи на ресурсе threedots.tech от Robert Laszczak - главного инженера в SlashID, сооснователя Three Dots Labs и создателя популярной Golang-библиотеки Watermill.

На протяжении некоторого времени я занимался руководством группы Go-разработчиков и одним из самых распространенных вопросов от начинающих специалистов был - "Какой фреймворк мне следует использовать?".

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии10

Взрослый back-end на node.js возможен?

Время на прочтение6 мин
Количество просмотров46K

В экосистеме Node.js существует довольно много библиотек и фреймворков, которые пользуются определенной популярностью в сообществе. Но ни один из инструментов не решил главную проблему, с которой сталкиваются разработчики, когда пытаются писать бэкенд на Node.js. Это проблема выбора архитектуры.

Хочу обратить ваше внимание на относительно молодой фреймворк Nest.js. Из коробки он предлагает заранее предопределенную архитектуру, которая заточена под максимально удобную поддержку и масштабируемость вашего приложения. Заложенные архитектурные подходы проверены временем и давно используются в других, более зрелых платформах: Java(Spring), Python(Django), PHP(Laravel) и прочих.

Авторы Nest.js не скрывают, что их вдохновил один из популярных фреймворков для клиентских приложений — Angular.js, а его авторы ориентировались на походы, используемые в Java и C#. Если вы знакомы с Angular.js, то увидите в Nest.js много схожих идей.

Читать далее
Всего голосов 45: ↑39 и ↓6+40
Комментарии49

Внедрение зависимостей (Dependency Injection) с GetIt во Flutter

Время на прочтение6 мин
Количество просмотров16K

Внедрение зависимостей - DI - Dependency injection - термин часто встречающийся на собеседованиях. Сам по себе концепт опирается на более объемный принцип инверсии зависимостей (буква D в SOLID), но намного проще и ближе к практике. Кратко можно сказать, что при внедрении зависимостей, мы задаем значения переменных объекта в момент выполнения программы, а не в момент компиляции.

В этой статье я постараюсь показать, что использование библиотек для DI - это легко и удобно, даже для небольших проектов и опишу три случая с кодом ДО и ПОСЛЕ. Надеюсь, даже в небольшом проекте сразу станет понятно, что код после применения внедрения зависимостей стал чуть-чуть лучше. 

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

Работать мы будем с достаточно популярной библиотекой GetIt. Проект минималистичен: приложение показывает погоду в настоящий момент  с использованием одного из двух сервисов: Yandex.Weather или VisualCrossing. Если пользователь разрешит, то учитывается его местоположение и погода будет актуальна для его города.

Read more
Всего голосов 7: ↑5 и ↓2+5
Комментарии17

Flutter. Асинхронность и параллельность

Время на прочтение11 мин
Количество просмотров50K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в DartFlutter в частности).


TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы знакомы с механизмами Event Loop, Future и async/await (например, в JavaScript), корутинами в Кotlin, скорее всего, вы не найдёте для себя много нового. Однако, реализация многопоточности в виде механизма Изолятов имеет особенности.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии18

Flutter вот-вот завоюет Web

Время на прочтение10 мин
Количество просмотров49K

Современные Web-сайты пишутся на HTML, JavaScript и CSS (и этот сайт в том числе). Наверно, вы сейчас прочитали это и подумали «да это же очевидно». А если я вам скажу, что можно написать сайт без использования этих трех технологий, у вас наверняка возникнут вопросы…

Читать далее
Всего голосов 43: ↑23 и ↓20+13
Комментарии81

Flutter 2: что нового

Время на прочтение21 мин
Количество просмотров15K

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 – самое настоящее коллективное детище, и мы бы не добрались до второй версии без тех, кто сообщал нам о проблемах, отправлял пул-реквесты и проверял код. Этот релиз посвящается всем вам.

Читать далее
Всего голосов 16: ↑11 и ↓5+9
Комментарии6

Советы начинающему GameDeveloper’у

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров9.2K

Недавно довелось заниматься поисками джуна на позицию Unity Developer’а. В процессе, выяснилось, что у большинства кандидатов плюс-минус одни и те же пробелы в знаниях. Дабы каждому не накидывать одни и те же сообщения с рекомендациями, возникла идея данного поста.

Сразу оговорюсь, что статья ни в коем случае не претендует на истину, это всего лишь субъективное мнение автора. Постарался собрать ресурсы и советы, которые либо использую сам, либо за которые многое бы отдал лично, когда был на старте карьеры.

Читать далее
Всего голосов 7: ↑5 и ↓2+4
Комментарии3

Flutter ListView и ScrollPhysics: Детальный взгляд

Время на прочтение4 мин
Количество просмотров16K

Некоторое время назад я написал статью об основах использования ListView и GridView во Flutter. Эта статья предназначена для более детального изучения класса ListView, ScrollPhysics, а также  параметров конфигурирования и оптимизаций для общего виджета.

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

Подробное изучение виджета ListView
Всего голосов 8: ↑7 и ↓1+8
Комментарии0

Быстрее нативной разработки: опыт внедрения Flutter в крупной компании

Время на прочтение7 мин
Количество просмотров8.8K

Хотя сообщество мобильных разработчиков давно нахваливает Flutter, большие компании не спешат переходить на эту технологию. Так получилось, что здесь мы стали одними из первых: когда понадобилось быстро выпустить новое приложение, мы взвесили все «за» и «против», опробовали гугловский фреймворк и остались довольны. Чем хорош Flutter, как выстраивается процесс разработки, где искать специалистов, какие нюансы и подводные камни нужно учитывать – обо всём этом расскажем под катом. Поехали.

Читать далее
Всего голосов 11: ↑10 и ↓1+13
Комментарии12

Четыре приема быстрой разработки на Unity3D

Время на прочтение7 мин
Количество просмотров8.2K

Уже долгое время Unity3D — мой любимый инструмент разработки игр, которым я пользуюсь уже более 8 лет — и для профессиональных продуктов, и для личных проектов, и при обучении программированию и гейм-дизайну. Более того, я писал на Unity почти на всех гейм-джемах, в которых участвовал, благодаря чему получалось создавать основу игры всего за несколько часов.

Как вы, наверное, знаете, гейм-джем — это конкурс разработчиков игр, участники которого делают игру с нуля за короткий период времени. Гейм-джем обычно идет от 24 до 72 часов, но бывают и более длительные — например, GitHub Game Off, который длится весь ноябрь.

После участия в различных гейм-джемах, в том числе и с самодельным движком моей группы на C++ (к сожалению, он только на португальском языке), я составил список правил быстрого прототипирования, которые вскоре превратились в мой основной принцип разработки ПО: меньше кода — быстрее работа.

Основная идея — писать меньше кода (или, иначе говоря, держать меньшую кодовую базу) — решает две задачи:

Защита от ошибок: чем меньше размер кода, тем меньше вероятность сделать ошибку.

Экономия времени: при каждом изменении кода нужны обновления и тесты, что требует времени.

А для Unity есть и третья причина: каждое изменение в коде запускает обновление Unity, на что регулярно тратится некоторое количество времени.

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

Читать далее
Всего голосов 8: ↑6 и ↓2+9
Комментарии2

Финляндия для разработчиков игр: маленькая страна с большими возможностями

Время на прочтение7 мин
Количество просмотров6.2K

Финны умеют делать не только крутую музыку, но и отличные игры. Страна с населением в каких-то 5 млн человек и лишь 240 игровыми студиями может похвастаться оборотом игрового рынка в €2,2 млрд. Вам знакомы такие названия, как Supercell, Rovio, Remedy Entertainment, Housemarque, Seriously Entertainment? Все они — финские студии.

Более того, Финляндия стала центром притяжения ведущих геймдев-компаний мира: в Хельсинки открыли офисы Ubisoft, Electronic Arts, Epic Games, Huuuge Games, Zynga и другие.

Это удачное место для софтлонча: финны — платящие (и привыкшие платить!) пользователи с западным менталитетом и приятным ARPU в $48.

А вы знали, что в Финляндии государство спонсирует стартапы и игровые студии, а зарубежных разработчиков ждут с распростертыми объятиями? Мы в Alconost решили узнать об этих заманчивых перспективах побольше и пообщались с экспертом в финском геймдеве.

Читать далее
Всего голосов 11: ↑8 и ↓3+9
Комментарии1

JavaScript, Python или Go: что лучше всего подойдёт для бэкенд-разработки в 2021 году?

Время на прочтение6 мин
Количество просмотров56K
Уже прошло почти восемь месяцев 2020 года, а технические прогнозы на этот год всё выходят и выходят. И это — несмотря на то, что очень сложно предсказать будущее в такой динамично развивающейся индустрии, как разработка программного обеспечения. Тот, кто работает в этой индустрии, видел, как технологии приходят и уходят. Иногда эти технологии проводят свою недолгую жизнь практически незаметно. Технологиям нелегко выживать в мире программирования.

Но если вспомнить прошлое, окажется, что языки программирования имеют огромную историю. В их истории было множество заметных событий, оказавших серьёзное влияние на индустрию. Например, C и Java, одни из самых старых языков программирования, до сих пор находят широкое применение. Но если поинтересоваться их популярностью, окажется, что сейчас они занимают не самые высокие позиции.



Я — программист. Мне очень нравится JavaScript (у меня с этим языком, так сказать, «вечная связь»), я пишу на этом языке уже давно. Но если немного оглядеться, то можно заметить, что в мире разработки ПО есть и другие языки. Предлагаю поразмыслить о том, что лучше использовать для серверной разработки в 2021 году: JavaScript, Python или Go. Но, прежде чем говорить о сильных сторонах каждого из этих языков, давайте взглянем на результаты некоторых исследований.
Читать дальше →
Всего голосов 46: ↑19 и ↓27+1
Комментарии48

Flutter. Как прокачать ваш BLoC

Время на прочтение2 мин
Количество просмотров6.7K
Реализующих BLoC паттерн библиотек много. Но та, о которой я расскажу, необычная, и называется isolate_bloc.

Как можно понять из названия — это какой-то необычный блок, а особенность его в том, что он работает в отдельном Isolate (далее изолят) и не тормозит ваш UI.

В чем проблема обычного bloc-а?


Помимо бойлерплейта есть и еще одна проблема — он работает в главном потоке, поэтому тяжелые задачи, типо парсинга json могут привести к фризам в UI.

С первой проблемой могут помочь библиотеки по типу simple_bloc или cubit. Со второй — изолят, или обертка над ним — Compute. В принципе это действительно хорошая связка, которую используют многие, но даже она решает не все проблемы. Например, в изоляте нельзя работать с MethodChannel, и в принципе его использование сопряжено с неудобствами и бойлерплейтом.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+10
Комментарии10

Бесплатные образовательные курсы: бэкенд-разработка

Время на прочтение6 мин
Количество просмотров42K
image

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

Сегодня мы отобрали 19 бесплатных курсов из раздела Образование на Хабр Карьере. Они дадут вам базовые знания о языках и технологиях, которые используются в бэкенде, и помогут определиться, нужно оно вам или нет. При выборе мы смотрели на содержание, количество выпускников и репутацию школ.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+11
Комментарии10

Алиса на Kotlin: превращаем код в Яндекс.Станцию

Время на прочтение7 мин
Количество просмотров8.7K

В июне Яндекс устроил онлайн-хакатон среди разработчиков голосовых навыков. Мы в Just AI как раз обновляли наш опенсорсный фреймворк на Kotlin, чтобы поддержать новые прикольные фичи Алисы. И нужно было придумать какой-то простенький пример для README…

О том, как пара сотен строк кода на Kotlin превратилась в Яндекс.Станцию
читайте в нашей новой статье
Всего голосов 4: ↑4 и ↓0+4
Комментарии7

Анонс Flutter 1.20

Время на прочтение11 мин
Количество просмотров7.9K
Повышенная производительность, автозаполнение, новый виджет и многое другое!

Всем привет, я Евгений Сатуров из Surf. Представляю перевод официальной статьи про последний апдейт Flutter 1.20 с моими комментариями. Фреймворк с каждым новым релизом становится всё более отполированным, и сегодня мы рассмотрим, что принес нам stable-канал в конце лета.


Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии12

Как IT-гиганты помогают образованию? Часть бонусная

Время на прочтение4 мин
Количество просмотров6.6K
Надеюсь, Вы уже читали мои статьи о том, как Google, Microsoft и Amazon помогают студентам получить современные знания, а учебному процессу — проходить эффективнее. Если нет — прочитайте, ссылки будут в конце этой статьи.

Однако тремя гигантами плюшки для учащихся не ограничиваются. Под катом — бесплатный софт, обучающие курсы, бесплатный облачный сервер, домены и даже колокейнш своего сервера на год. Но только для студентов.

Открыть сундук с сокровищами
Всего голосов 17: ↑17 и ↓0+17
Комментарии7

Litho: лучшие практики для создания эффективного UI в Android

Время на прочтение19 мин
Количество просмотров9.2K
Litho — UI-фреймворк от Facebook, который отвечает за быстрый рендеринг тяжелого UI в топовых приложения с миллиардами загрузок.

Как его использовать, что происходит под капотом, и действительно ли с UI можно работать только из одного потока?


Cookbook по Litho в расшифровке моего доклада с конференции Mobius 2019 Moscow под катом.
Всего голосов 19: ↑19 и ↓0+19
Комментарии8

Flutter. BlOC, Provider, async – архитектура «по полочкам»

Время на прочтение11 мин
Количество просмотров38K

Вступление


Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVVM, MVI и т.д. Предположим вы решили пойти самым модным путем (тем, что советовал Google в 2018 году) и использовать BLOC. Что это? Как этим пользоваться? А может Redux или RxDart? – хотя стоп – это же про «другое» … А все-таки что дальше? Какие библиотеки подключать? Bloc, Flutter_bloc, bloc_pattern и т.д.?

Такое количество вариантов архитектур и инструментов для их реализации действительно может на долго затянуть стадию выбора.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность