Собрал ответы на часто встречающиеся вопросы от начинающих программистов в одной статье.
- С чего начать обучение разработке?
- Что нужно знать программисту?
- В чем основные отличия работы в офисе или удаленно?
- Сколько зарабатывает программист?
и т.д.
Есть #Android специфичные детали, но статья в целом про программирование как таковое. https://dimlix.com/programming-for-beginners/
- С чего начать обучение разработке?
- Что нужно знать программисту?
- В чем основные отличия работы в офисе или удаленно?
- Сколько зарабатывает программист?
и т.д.
Есть #Android специфичные детали, но статья в целом про программирование как таковое. https://dimlix.com/programming-for-beginners/
Блог Android разработчика
Программирование для начинающих и не только
Обучение программированию - очевидный тренд. Даже при высоких зарплатах спрос на хороший разработчиков превышает предложение. Все это, в купе с возможностью в IT работать удаленно подталкивает все больше людей научиться программировать. Давайте разберемся…
Копаем #Android до низов, раскрываем все аспекты работы с #Gradle, рассматриваем неочевидные шаги для повышения эффективности кода #Kotlin вместе с Marcin Moskala, RJ Marsan, Ivan Morgillo и с другими Android-инженерами на Mobius 2019 Moscow:
— «Custom Lint Rules», Игорь Таланкин. Как Android-разработчику добавить свою проверку? Как поделиться ею с командой? Как устроены правила Android Lint внутри? Именно об этом поведает Игорь в своем по-настоящему хардкорном докладе, ведь вы узнаете, как студия видит ваш код и научитесь ей подсказывать!
— «Gradle от A до Я». Степан Гончаров раскроет максимально все аспекты работы с Gradle, от плагинов и тасок до внутренних процессов. Доклад будет полезен всем.
— «Efficient Kotlin». Marcin Moskala, автор книги «Effective Kotlin», расскажет про неочевидные шаги для повышения эффективности вашего кода Kotlin.
— «Рендеринг Текста в Android», Павел Новиков. Для подавляющего большинства разработчиков шрифты — это самый низкий уровень взаимодействия с текстами. Доклад Павла позволяет копнуть глубже и понять, как поэтапно происходит отрисовка шрифтов.
— «Design for errors — an introduction to Domain modelling with a bit of Arrow», Ivan Morgillo. Все мы любим тесты, но слышали ли вы, что лучшие тесты - это типы? Котлин со своими type aliases и arrow со своей поддержкой типов помогут вам построить по-настоящему надежный код.
Другие доклады и билеты на конференцию — на сайте:
https://mobiusconf.com/?utm_source=partner&utm_medium=dimlix&utm_campaign=mobius19msc&utm_content=common
— «Custom Lint Rules», Игорь Таланкин. Как Android-разработчику добавить свою проверку? Как поделиться ею с командой? Как устроены правила Android Lint внутри? Именно об этом поведает Игорь в своем по-настоящему хардкорном докладе, ведь вы узнаете, как студия видит ваш код и научитесь ей подсказывать!
— «Gradle от A до Я». Степан Гончаров раскроет максимально все аспекты работы с Gradle, от плагинов и тасок до внутренних процессов. Доклад будет полезен всем.
— «Efficient Kotlin». Marcin Moskala, автор книги «Effective Kotlin», расскажет про неочевидные шаги для повышения эффективности вашего кода Kotlin.
— «Рендеринг Текста в Android», Павел Новиков. Для подавляющего большинства разработчиков шрифты — это самый низкий уровень взаимодействия с текстами. Доклад Павла позволяет копнуть глубже и понять, как поэтапно происходит отрисовка шрифтов.
— «Design for errors — an introduction to Domain modelling with a bit of Arrow», Ivan Morgillo. Все мы любим тесты, но слышали ли вы, что лучшие тесты - это типы? Котлин со своими type aliases и arrow со своей поддержкой типов помогут вам построить по-настоящему надежный код.
Другие доклады и билеты на конференцию — на сайте:
https://mobiusconf.com/?utm_source=partner&utm_medium=dimlix&utm_campaign=mobius19msc&utm_content=common
При отправке данных по сети иногда полезно посмотреть в каком они виде долетают до сервера.
Чтобы не заниматься долгими настройками и копанием в логах - есть отличный инструмент, которым сам иногда пользуюсь - RequestBin. Он позволяет создать instance некой "корзины", в которую будут падать запросы и где их можно удобно мониторить. https://requestbin.com/
Чтобы не заниматься долгими настройками и копанием в логах - есть отличный инструмент, которым сам иногда пользуюсь - RequestBin. Он позволяет создать instance некой "корзины", в которую будут падать запросы и где их можно удобно мониторить. https://requestbin.com/
Практически всегда, когда речь идет о #REST клиентах, то #Json - тот формат, в рамках которого происходит общение.
Логирование запросов-ответов обычно выдает целый json в одну строку. Читать это - жесть.
Я практически каждый день при разработке пользуюсь очень простым, бесплатным, но крайне полезным онлайн инструментом. Он просто форматирует json что его становится удобно читать и изучать весь объект, скрывая ненужные в данный момент части. http://json.parser.online.fr/
Логирование запросов-ответов обычно выдает целый json в одну строку. Читать это - жесть.
Я практически каждый день при разработке пользуюсь очень простым, бесплатным, но крайне полезным онлайн инструментом. Он просто форматирует json что его становится удобно читать и изучать весь объект, скрывая ненужные в данный момент части. http://json.parser.online.fr/
Все чаще стал слышать вопросы про архитектуру в рамках приложения.
Надеюсь уже все прочитали про #CleanArchitecture, но все же.
На мой взгляд вообще понятие #Архитектура можно разделить на 2 части
1) Непосредственно архитектура
2) Шаблона проектирования архитектуры
1-ое это в целом о том, что приложение, будь то Android, iOS, СвояOS, неважно, должны быть легко поддерживаемыми, модифицируемыми, тестируемыми. На данном этапе абсолютно не важны никакие аббревиатуры (MVP, MVVM, xxxx). Важен только здравый смысл. По аналогии с Lego - вы покупаете стандартные блоки, из которых можно собрать нечто большее. Вот и архитектура должна быть такая, что из кусочков вашего приложения можно было бы собрать нечто крутое. Важный момент - не скатиться до "Паззла", когда вроде все аккуратно, по блокам... только вот к одной детали подходит исключительно одна...
А вот шаблоны уже (даже исходя из сути слова) - некое стандартное решение в стандартной ситуации со стандартными именами. Тут как раз речь про MVP, MVVM и т.д. Это нужно лишь для ускорения процесса принятия решения по тому, как организовать код и, чтобы другой человек мог быстрее понять "что тут происходит".
Так вот, так или иначе, с понятием "архитектуры" вы сталкиваетесь, даже если не знаете об этом. А вот с шаблонами да, не все и не всегда :) https://habr.com/ru/post/269589/
Надеюсь уже все прочитали про #CleanArchitecture, но все же.
На мой взгляд вообще понятие #Архитектура можно разделить на 2 части
1) Непосредственно архитектура
2) Шаблона проектирования архитектуры
1-ое это в целом о том, что приложение, будь то Android, iOS, СвояOS, неважно, должны быть легко поддерживаемыми, модифицируемыми, тестируемыми. На данном этапе абсолютно не важны никакие аббревиатуры (MVP, MVVM, xxxx). Важен только здравый смысл. По аналогии с Lego - вы покупаете стандартные блоки, из которых можно собрать нечто большее. Вот и архитектура должна быть такая, что из кусочков вашего приложения можно было бы собрать нечто крутое. Важный момент - не скатиться до "Паззла", когда вроде все аккуратно, по блокам... только вот к одной детали подходит исключительно одна...
А вот шаблоны уже (даже исходя из сути слова) - некое стандартное решение в стандартной ситуации со стандартными именами. Тут как раз речь про MVP, MVVM и т.д. Это нужно лишь для ускорения процесса принятия решения по тому, как организовать код и, чтобы другой человек мог быстрее понять "что тут происходит".
Так вот, так или иначе, с понятием "архитектуры" вы сталкиваетесь, даже если не знаете об этом. А вот с шаблонами да, не все и не всегда :) https://habr.com/ru/post/269589/
Хабр
Чистая архитектура
От переводчика: данная статья написана Дядюшкой Бобом в августе 2012 года, но, на мой взгляд, вполне актуальна до сих пор. За последние несколько лет мы видели целый ряд идей относительно архитектуры...
При использовании #ViewModel и #LiveData из #Android Architecture Component натыкаюсь на то, что при переходе вперед-назад и наличии некого стейт объекта во ViewModel возникают ошибки.
А именно, например, есть Onboarding, который собирает последовательно ряд данных и использует одну ViewModel. При переходе взад-вперед по экранам может случится так, что значение в LiveData уже было, а на него завязан переход дальше. Получается "зацикливание".
Для таких случаев, когда нужно интерпретировать значение в LiveData как одноразовое событие нашел простую библиотечку: https://github.com/hadilq/LiveEvent
Больше о процессе создания LiveEvent можно почитать от автора в статье: https://proandroiddev.com/livedata-with-single-events-2395dea972a8
А именно, например, есть Onboarding, который собирает последовательно ряд данных и использует одну ViewModel. При переходе взад-вперед по экранам может случится так, что значение в LiveData уже было, а на него завязан переход дальше. Получается "зацикливание".
Для таких случаев, когда нужно интерпретировать значение в LiveData как одноразовое событие нашел простую библиотечку: https://github.com/hadilq/LiveEvent
Больше о процессе создания LiveEvent можно почитать от автора в статье: https://proandroiddev.com/livedata-with-single-events-2395dea972a8
GitHub
GitHub - hadilq/LiveEvent: This library holds a class to handle single live events in Android MVVM architectural pattern. http…
This library holds a class to handle single live events in Android MVVM architectural pattern. https://proandroiddev.com/livedata-with-single-events-2395dea972a8 - GitHub - hadilq/LiveEvent: This l...
О важности правильной постановке вопроса пост.
Много раз, от разного уровня разработчиков слышал фразы, вида "боюсь задать глупый вопрос", "я особо не спрашиваю, сам ищу" и другие в таком же ключе.
На самом деле, правильно поставленный вопрос, как правило, уже содержит часть ответа. А самый, на первый взгляд, простой и нелепый - наталкивает на продуктивные рассуждения.
Я сам сталкивался много раз с тем, что в процессе формулирования вопроса итеративно доходил до ответа, просто пытаясь поставить вопрос так, чтобы на него можно было ответить.
-----
Пример. Вопрос на который изначально нельзя нормально ответить:
"Как сделать поиск по каталогу в приложении?".
Q: Приложение должно получать результаты ответа от сервера?
A: Нет
Q: Достаточно ли простого сравнения по заголовку?
A: Нет
...
Итого итеративно, еще никого не спрашивая пришли к: "Как обеспечить полнотекстовый поиск на устройстве без участия бекенда по данным, хранящихся в sqllite?".
Согласитесь, четче? И теперь даже гугл по "fulltext search sqlite" даст лопату с подскажет куда копать.
-----
В примере выше изначальный вопрос еще вполне адекватный, а бывают и такие, как "У меня не работает RecyclerView, что делать?". Как не работает? Что не работает? Как хотите чтобы работало?...
Не бойтесь спрашивать, возможно глупые, но фактурные вопросы. Не так страшно на 5 минут показаться глупым, но получить нужные знания, чем так и остаться глупым, боясь спросить.
Также о том, как задавать красивые вопросы, на которые хочется отвечать можно посмотреть на эталона FAQ в IT, stackoverflow.
Есть вопрос? Задавай в нашем уютном чатике.
Много раз, от разного уровня разработчиков слышал фразы, вида "боюсь задать глупый вопрос", "я особо не спрашиваю, сам ищу" и другие в таком же ключе.
На самом деле, правильно поставленный вопрос, как правило, уже содержит часть ответа. А самый, на первый взгляд, простой и нелепый - наталкивает на продуктивные рассуждения.
Я сам сталкивался много раз с тем, что в процессе формулирования вопроса итеративно доходил до ответа, просто пытаясь поставить вопрос так, чтобы на него можно было ответить.
-----
Пример. Вопрос на который изначально нельзя нормально ответить:
"Как сделать поиск по каталогу в приложении?".
Q: Приложение должно получать результаты ответа от сервера?
A: Нет
Q: Достаточно ли простого сравнения по заголовку?
A: Нет
...
Итого итеративно, еще никого не спрашивая пришли к: "Как обеспечить полнотекстовый поиск на устройстве без участия бекенда по данным, хранящихся в sqllite?".
Согласитесь, четче? И теперь даже гугл по "fulltext search sqlite" даст лопату с подскажет куда копать.
-----
В примере выше изначальный вопрос еще вполне адекватный, а бывают и такие, как "У меня не работает RecyclerView, что делать?". Как не работает? Что не работает? Как хотите чтобы работало?...
Не бойтесь спрашивать, возможно глупые, но фактурные вопросы. Не так страшно на 5 минут показаться глупым, но получить нужные знания, чем так и остаться глупым, боясь спросить.
Также о том, как задавать красивые вопросы, на которые хочется отвечать можно посмотреть на эталона FAQ в IT, stackoverflow.
Есть вопрос? Задавай в нашем уютном чатике.
Stack Overflow
How do I ask a good question? - Help Center
Stack Overflow | The World’s Largest Online Community for Developers
Работа над задачами. Связка кода в #Git и задач в трекере.
- Если планируется большая фича, которая +- долго не попадет в главную ветку, создается отдельная ветка `feature/{randomFeatureName}`.
- Когда берете очередную задачу в работу, изначально определяете родительскую ветку. Либо `develop`, либо `feature/{randomFeatureName}`.
- Для задачи создается отдельная ветка `feature/{issueNumber}`.
- После внесенных изменений создается коммит с префиксом `{issueNumber}: `.
- Затем все заливается в родительскую ветку через Pull Request.
Работа над задачами - багами.
Аналогично работе над задачами, описанной выше, с несколькими нюансами:
- Если задача вернулась от тестеров, по commit message можно найти изменения, которые были сделаны не верно.
- В случае нового бага, после того как он был локализован, можно найти исходную задачу, в рамках которой баг появился и кто был за нее ответственный.
Плюсы подхода
- Легкая навигация по коду в контексте задач из трекера.
- Доступ к истории изменений по конкретной задаче.
- Более точечные Пул Реквесты, которые легче отсматривать.
- Полная информация о задаче в контексте Пул Реквеста.
Минусы подхода
- Требуется больше времени для поддержания структуры.
- Больша работы по созданию\удалению веток, т.к. ветка будет нужна даже для небольшой задачи.
Для упрощения поддержки структуры Commit Message можно воспользоваться готовыми commit-message хуками, например
https://gist.github.com/dryaz/6e55f55ffad6aeb188032e9481f78a45
Он позволит просто написать привычное human readable сообщение, и далее сам отформатирует его в нечто, вида
XX-1234: {Тут ваше сообщение}
Issue in tracker
https://{Тут адрес вашего таск трекера}/XX-1234
- Если планируется большая фича, которая +- долго не попадет в главную ветку, создается отдельная ветка `feature/{randomFeatureName}`.
- Когда берете очередную задачу в работу, изначально определяете родительскую ветку. Либо `develop`, либо `feature/{randomFeatureName}`.
- Для задачи создается отдельная ветка `feature/{issueNumber}`.
- После внесенных изменений создается коммит с префиксом `{issueNumber}: `.
- Затем все заливается в родительскую ветку через Pull Request.
Работа над задачами - багами.
Аналогично работе над задачами, описанной выше, с несколькими нюансами:
- Если задача вернулась от тестеров, по commit message можно найти изменения, которые были сделаны не верно.
- В случае нового бага, после того как он был локализован, можно найти исходную задачу, в рамках которой баг появился и кто был за нее ответственный.
Плюсы подхода
- Легкая навигация по коду в контексте задач из трекера.
- Доступ к истории изменений по конкретной задаче.
- Более точечные Пул Реквесты, которые легче отсматривать.
- Полная информация о задаче в контексте Пул Реквеста.
Минусы подхода
- Требуется больше времени для поддержания структуры.
- Больша работы по созданию\удалению веток, т.к. ветка будет нужна даже для небольшой задачи.
Для упрощения поддержки структуры Commit Message можно воспользоваться готовыми commit-message хуками, например
https://gist.github.com/dryaz/6e55f55ffad6aeb188032e9481f78a45
Он позволит просто написать привычное human readable сообщение, и далее сам отформатирует его в нечто, вида
XX-1234: {Тут ваше сообщение}
Issue in tracker
https://{Тут адрес вашего таск трекера}/XX-1234
Gist
commit-msg hook script
commit-msg hook script. GitHub Gist: instantly share code, notes, and snippets.
По данным недавнего опроса от Левада Центра - 53% молодых Россиян хотят уехать за границу.
Если тебе интересно каково это быть разработчиком на западе, заходи на канал Программист в европе.
Автор канала отвечает на такие вопросы, как:
- Что важно знать о собеседованиях в европейских IT компаниях?
- Какой самый надежный способ найти работу?
- Какие формы сотрудничества любят европейцы, и в чем подвох?
- Фриланс в 2019 году из Польши. Реально ли заработать?
- Можно ли закончив бесплатную школу информатики в Варшаве найти работу с зп от 2к$?
Программист в Европе - инструкция по поиску работы основанная на личном опыте Валерия.
Если тебе интересно каково это быть разработчиком на западе, заходи на канал Программист в европе.
Автор канала отвечает на такие вопросы, как:
- Что важно знать о собеседованиях в европейских IT компаниях?
- Какой самый надежный способ найти работу?
- Какие формы сотрудничества любят европейцы, и в чем подвох?
- Фриланс в 2019 году из Польши. Реально ли заработать?
- Можно ли закончив бесплатную школу информатики в Варшаве найти работу с зп от 2к$?
Программист в Европе - инструкция по поиску работы основанная на личном опыте Валерия.
Telegram
Программист в Европе
Путь от фрилансера к востребованному программисту в Европе.
Как я искал работу в Польше, Германии и Англии
Чат программистов:
T.me/programChat
По вопросам сотрудничества: @kocherzhynska
Как я искал работу в Польше, Германии и Англии
Чат программистов:
T.me/programChat
По вопросам сотрудничества: @kocherzhynska
Начиная с #Android 11 не будет вопроса чем плох #AsyncTask и когда его использовать. Никогда. Теперь он #Deprecated.
На его место есть несколько кандидатов от самого #Google:
- java.util.concurrent
- #Kotlin concurrency (#coroutines)
Я бы добавил, что если уже у вас проекте есть #RX - можно использовать его помощь. Если он не подключен - kotlin coroutines - то что нужно.
На его место есть несколько кандидатов от самого #Google:
- java.util.concurrent
- #Kotlin concurrency (#coroutines)
Я бы добавил, что если уже у вас проекте есть #RX - можно использовать его помощь. Если он не подключен - kotlin coroutines - то что нужно.
13 Декабря в 18:00 буду проводить Вебинар в #SkillBox на тему создания #Android приложения. Подойдет начинающим разработчиком.
Да и вообще в рамках "Новогодней онлайн-конференции:
Профессии в Digital" внутри много интересных лекций.
Успей получить бесплатный билет! https://lite.lc/qr9yWI
Да и вообще в рамках "Новогодней онлайн-конференции:
Профессии в Digital" внутри много интересных лекций.
Успей получить бесплатный билет! https://lite.lc/qr9yWI
live.skillbox.ru
Все курсы с огромными скидками
Присоединяйся к распродаже от Skillbox!
Если вы занимаетесь нативной разработкой игр, стоит обратить внимание на #Android Game SDK.
Не так давно выпущенная, пока что она содержит только 'Android Frame Pacing library', которая помогает #OpenGL и #Vulkan поддерживать правильный фреймрейт. Гугл обещает активно заниматься своей Game SDK, посмотрим что это может значить 😉 https://developer.android.com/games/sdk/
Не так давно выпущенная, пока что она содержит только 'Android Frame Pacing library', которая помогает #OpenGL и #Vulkan поддерживать правильный фреймрейт. Гугл обещает активно заниматься своей Game SDK, посмотрим что это может значить 😉 https://developer.android.com/games/sdk/
Android Developers
Android Games Development Kit | Android game development | Android Developers
Интересный факт: около 60% Top 1'000 приложений в Google play используют #Kotlin внутри.
#Google продолжает активно развивать поддержу Котлина для #Android. В #CodeLab уже много обучающего материала:
- https://codelabs.developers.google.com/android-kotlin-fundamentals/
- https://codelabs.developers.google.com/advanced-android-kotlin-training/
- https://codelabs.developers.google.com/kotlin-bootcamp/
Фокус на 2020: работа над компилятором, чтобы сделать сборку Котлин проектов быстрее, удобнее и просто лучше! https://android-developers.googleblog.com/2019/12/androids-commitment-to-kotlin.html
#Google продолжает активно развивать поддержу Котлина для #Android. В #CodeLab уже много обучающего материала:
- https://codelabs.developers.google.com/android-kotlin-fundamentals/
- https://codelabs.developers.google.com/advanced-android-kotlin-training/
- https://codelabs.developers.google.com/kotlin-bootcamp/
Фокус на 2020: работа над компилятором, чтобы сделать сборку Котлин проектов быстрее, удобнее и просто лучше! https://android-developers.googleblog.com/2019/12/androids-commitment-to-kotlin.html
Android Developers
Android Basics with Compose course | Android Developers
The official site for Android developers. Provides the Android SDK and documentation for app developers and designers.
👍1
Не забываем, что сегодня в 18:00 (через 30 мин) вместе со #SkillBox разговариваем про разработку под #Android.
Какие темы охватим?
- Что нужно для разработки под Android
- Из чего состоит Android приложение
- Создаем первое мультиэкранное приложение
- Работаем с сетью: самый частый кейс в нашей профессии
- Узнаём зачем нужна архитектура в вашем приложении
- Бонус: о чем вас могут спросить на собеседовании
А еще это бесплатно!) https://lite.lc/cnj_U
Какие темы охватим?
- Что нужно для разработки под Android
- Из чего состоит Android приложение
- Создаем первое мультиэкранное приложение
- Работаем с сетью: самый частый кейс в нашей профессии
- Узнаём зачем нужна архитектура в вашем приложении
- Бонус: о чем вас могут спросить на собеседовании
А еще это бесплатно!) https://lite.lc/cnj_U
live.skillbox.ru
Делаем первое приложение на Android
Мы обучаем востребованным интернет-профессиям в сфере дизайна, программирования, маркетинга и управления проектами.
На конференции #GooglePlaytime2019 обсуждались различные аспекты разработки игр под мобильные устройства.
Записи выступлений можно найти на youtube, грядущие выходные - отличный повод с ними познакомиться. https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_i9rV2WE-GhWLm4JmsraRM
Записи выступлений можно найти на youtube, грядущие выходные - отличный повод с ними познакомиться. https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_i9rV2WE-GhWLm4JmsraRM
Через 30 минут начинается вебинар от #SkillBox на тему "Как стать мобильным разработчиком".
Игорь Веденеев, руководитель отдела Mobile AGIMA рассказывает что же это такое - быть мобильным разработчиком.
И да, это бесплатно 😉 https://fas.st/SnJvdl
Игорь Веденеев, руководитель отдела Mobile AGIMA рассказывает что же это такое - быть мобильным разработчиком.
И да, это бесплатно 😉 https://fas.st/SnJvdl
live.skillbox.ru
Как стать мобильным разработчиком — бесплатное обучение, курсы и видеоуроки
⚡️ Видео с бесплатного вебинара на тему «Как стать мобильным разработчиком» — изучите курс самостоятельно. 🔥 В проекте «Вебинары» от Skillbox найдутся сотни бесплатных видеоуроков по маркетингу, дизайну, программированию и другим направлениям.
#Анимации как элемент #UX - важная составляющая вашего мобильного приложения.
А вот и отличная "подробная инструкция" по тому как эту самую анимацию использовать.
В статье речь идет не только о скорости и уместности анимаций, но и траекториях, значении размера объекта и многом другом! http://bit.ly/35uEutQ
А вот и отличная "подробная инструкция" по тому как эту самую анимацию использовать.
В статье речь идет не только о скорости и уместности анимаций, но и траекториях, значении размера объекта и многом другом! http://bit.ly/35uEutQ
Medium
Полное руководство по использованию анимации в UX
Перевод статьи https://uxdesign.cc/the-ultimate-guide-to-proper-use-of-animation-in-ux-10bd98614fa9, автор оригинальной статьи —…
Возник такой вопрос:
Интересно ли вам раз в N времени получать подборку потенциально интересных (конечно на мой субъективный взгляд 😉 ) вакансий?
Интересно ли вам раз в N времени получать подборку потенциально интересных (конечно на мой субъективный взгляд 😉 ) вакансий?
Мне было бы интересно получать подборку вакансий
Anonymous Poll
26%
Раз в месяц
55%
Раз в неделю
19%
Никогда
"Что нужно знать о дизайне мобильных приложений в 2020 году" - так звучит тема очередного вебинара от #SkillBox в рамках их предновогоднего марафона.
Через 30 минут ⌛ Екатерина Иконникова, дизайнер мобильного приложения Booking, рассказывает про мобильный #UI, присоединяйся.
Интересно и к тому же бесплатно 🚀 https://fas.st/CY9o6
Через 30 минут ⌛ Екатерина Иконникова, дизайнер мобильного приложения Booking, рассказывает про мобильный #UI, присоединяйся.
Интересно и к тому же бесплатно 🚀 https://fas.st/CY9o6
live.skillbox.ru
Что нужно знать о дизайне мобильных приложений в 2020 году — бесплатное обучение, курсы и видеоуроки
⚡️ Видео с бесплатного вебинара на тему «Что нужно знать о дизайне мобильных приложений в 2020 году» — изучите курс самостоятельно. 🔥 В проекте «Вебинары» от Skillbox найдутся сотни бесплатных видеоуроков по маркетингу, дизайну, программированию и другим…