Size: a a a

Android Live 🤖

2017 December 22
Android Live 🤖
​​Сегодня залип на достаточно интересный ресурс — T—Ж.

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

Все началось со #статьи про зарплату
«Никогда, — слышите? — никогда не ждите, что зарплата поднимется сама собой.
Она не поднимется. Никто вам ее не проиндексирует. Никто никогда не признает ваших заслуг и не придет к вам с кучей денег. Даже если вы золотой работник. Даже если свои прошлые выходные вы провели на работе во имя благополучия компании. Не будет у вас ничего — если ничего для этого не сделать».

Одним из авторов тут является Максим Ильяхов, автор знаменитой книги для написания текстов «Пиши. Сокращай», который является для меня примером в написании текстов.
источник
2017 December 23
Android Live 🤖
Ещё один #паттерн, который полезно использовать — Adapter (Wrapper).

По сути, это интерфейс, который применяется к классу, который не применим, но при помощи Adapter становится совместим с другим классом. Чтобы стало яснее, объясню на примере.

Например, у нас есть две лодки: весельная и парусная. У них разные свойства, и они не пересекаются. Одна хорошо используется в озере, где не так много воды и нужна маневренность. Другая же — хороша в море, где много ветра и нужно плыть прямо. Но приходит неприятность: нападают пираты. Нужно уплыть от них быстрее, и совместить свойства обеих лодок. Для этого мы используем некий механизм, который вешаем на парусную лодку, и благодаря которому мы можем использовать весла. Этот механизм и будет Adapter.
источник
2017 December 24
Android Live 🤖
​​Как всегда, по выходным, топ статей из Medium
#статьи #medium

1) Pro-советы по RecyclerView. — (3 минуты)
Автор делится опытом и некоторыми особенностями использования такого популярного компонента как RecyclerView. Для меня было интересным ходом — возвращать id layout в качестве типа элемента.
https://proandroiddev.com/recyclerview-pro-tips-part-1-8a291594bafc

2) Определение сворачивания и разворачивания приложения. — (4 минуты)
Довольно частый кейс, который есть во многих приложениях. Автор делится несколькими довольно красивыми решениями для быстрой проверки разворотов приложения.
https://android.jlelse.eu/how-to-detect-android-application-open-and-close-background-and-foreground-events-1b4713784b57
источник
2017 December 26
Android Live 🤖
Друзья, у нас новая рубрика — «Интервью с разработчиком».
Сегодня мы беседуем с руководителем Android-практики в REDMADROBOT — Александром Блиновым.
Какие библиотеки надежные? Как попасть на работу к роботам? Ответы на эти и другие вопросы вы найдете в статье.
http://telegra.ph/Intervyu-s-razrabotchikom-Aleksandr-Blinov-REDMADROBOT-12-23
источник
2017 December 27
Android Live 🤖
Уверен, что читающие меня разработчики стремятся делать максимально плавные интерфейсы, используя последние библиотеки и подходы.
Одним из инструментов, который помогает сделать такие интерфейсы являются анимации.
Хочу соединить наши знания о анимациях в несколько статей. Сегодня первая часть, связанная с RecyclerView.
#статьи #анимации

http://telegra.ph/Ozhivlyaem-Android-prilozhenie-CHast-1-RecyclerView-12-26
источник
2017 December 28
Android Live 🤖
В последний год мне попадалось достаточно много интересных новостей, связанных с машинным обучением и искусственным интеллектом:

- Алиса от Яндекса;
- ИИ, который пишет музыку;
- беспилотные автомобили;
- подмена лиц в видео.

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

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

https://github.com/terryum/awesome-deep-learning-papers
источник
2017 December 29
Android Live 🤖
Сегодня последняя рабочая пятница. И в такой вечер, казалось бы, нужно отдыхать и готовиться к праздникам.  
Но для тех кому скучно — попробуйте пройти короткий, но увлекательный тест от организаторов конференции MBLT dev: https://mbltdev.ru/ru/quiz.

Быстро справились?😁
источник
2017 December 30
Android Live 🤖
​​Lite-версии приложения.
#разработка

На этой неделе в Тель-Авиве был Droidcoin, где на одном из выступлений, Facebook рассказал о своей будущей Lite-версии приложения.
Они утверждают, что следующий миллиард пользователей придет из развивающихся стран, при этом устройства, с которых пользователи будут заходить в приложения будут очень слабые, но имеющие свежую версию Android. В качестве примера они приводят устройство, произведеннное в 2017 году — InFocus Turbo 5.
Докладчик рекомендовал обращать внимание на размер приложения, размер кэша, хранилища и время запуска и потребление Интернета.
Помимо всего, он рекомендовал использовать библиотеку ReDex, которая после долгих манипуляций так и не применилась к моему приложению. Будем ждать, что недостатки устранят.
Ссылка на конференцию тут.
Даже если ваше приложение не ориентируется на международный рынок, помните, что существуют не только флагманы, на которых все работает быстро и плавно, а также не у всех пользователей безлимитный 4G Интернет.
источник
2017 December 31
Android Live 🤖
Друзья, наша рубрика «Интервью с разработчиком» продолжается. Следующий респондент — Евгений Мацюк. Евгений — тимлид Android-команды в Лаборатории Касперского и опытный разработчик.

Хочу вовлечь в процесс опроса и вас, моих подписчиков. Вы можете задать интересующие вас вопросы, и самые интересные обязательно попадут в интервью.
источник
Android Live 🤖
​​Уже через несколько часов мы будем в Новом году. Так принято, что в последний день уходящего года, люди подводят итоги.

В этом месяце был создан канал, и сейчас на нем больше 250 человек! Это очень много. Я счастлив, что вы меня читаете. Чувствую больше ответственности за те посты, которые даю Вам. Спасибо за то, что даете обратную связь.

Хочу пожелать вам успехов в профессиональном плане: интересных проектов, понимающих заказчиков, меньше непредсказуемых багов и крутую команду, где вы будете расти постоянно. Я в вас верю, и все у вас получится!
А в жизни желаю вам побольше здоровья, осознанности и удовлетворенности жизнью. Пусть каждый день будет счастливым! 💥
источник
2018 January 02
Android Live 🤖
​​Книги по программированию
#книги #мысли

Не так давно, на работе рассуждали на тему книг по программированию. Это вызвало много жарких споров, но все равно каждый остался при своем мнении.

Когда начинал изучать разработку под Android, то я не читал книги. Проще было найти необходимую информацию на английском языке в Интернете, потому что книги, которые были очень сильно устарели. 

Сейчас, когда хожу по книжному магазину, и на глаза попадается книга по Android-программированию, то у меня есть два критерия-минитеста в переводе и проверка на качество и профессионализм этой книги:
1) Activity переведено как Активность.
2) Intent переведено как Намерение.

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

Интересно, а как вы изучаете языки программирования? Согласны ли вы со мной, что изучать лучше по документации или Интернету, чем по книгам? Если хотите высказаться или обсудить, то пишите.
источник
2018 January 03
Android Live 🤖
​​Нативная или кроссплатформенная разработка?
#разработка #мысли #вопрос

Представьте: вы работаете в команде, где создаются мобильные приложения. Поступает задача — создать новый экран на iOS и Android. Начинается работа:
- сделать дизайн;
- согласовать дизайн и внести коррективы;
- отдать в разработку программисту iOS и Android;
- отдать в тестирование две платформы;
- исправить баги;
- зарелизить.

Иногда бывают ситуации, что релиз нужно сделать одновременно.

В моменты, когда прилетает задача с полностью одинаковыми требованиями возникает мысль: было бы здорово, если бы это создавалось одновременно на 2 платформы. Подобные думы возникают также при создании нового проекта.

Мое знакомство с кроссплатформенной разработкой произошло пару лет назад, когда планировался достаточно большой проект. Посмотрели в сторону Xamarin, который позволял создавать приложения для Android, iOS и Windows Phone. Почитав документацию и начав разработку, выяснилось, что продолжать создание этого проекта невозможно: появляются краши, которые непонятно как исправить из-за небольшого сообщества разработчиков; многие вещи по-прежнему нужно писать на три платформы в отдельности, экономия по времени небольшая.

Не так давно я увидел Flutter. Это SDK от Google, который позволяет создавать одновременно приложения на Android и iOS. В основе лежит язык Dart. Пока этот проект в alpha-режиме, поэтому страшно использовать его для коммерческих и больших проектов. Хотя уже сейчас есть несколько опубликованных проектов в Google Play и Apple Store.

Мое отношение к кроссплатформенной разработке сейчас такое же, как на картинке: если требуется создать что-то сложное и постоянно дорабатываемое, то без нативной разработки не обойтись. Сейчас нативная разработка позволяет сделать все, учитывая особенности операционной системы. Если же нужно создать что-то простое, типа «вывести список с сайта», то стоит смотреть в сторону кроссплатформенности для удешевления разработки.

А что вы думаете по поводу нативной и кроссплатформенной разработки? Будет ли в будущем нативная разработка или ее вытеснит кроссплатформенная? Делитесь своим опытом и мыслями, которое позже опубликую тут.
источник
Android Live 🤖
Видели альтернативный Telegram для Android?

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

Прям вдохновился внедрять больше красивых, плавных анимаций в свои проекты. Как вам клиент?
источник
2018 January 05
Android Live 🤖
​​Выступления для программистов

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

- выступайте только тогда, когда хотите выложиться полностью, когда четко понимаете, о чем говорите;
- хороший доклад — это стендап, научно-популярное шоу, кино и Колизей (вопросы могут быть крайне неожиданными, и на них надо быть готовым ответить);
- не дублируйте то, что написано на слайде. При этом, на слайде должно быть написано мало. Хороший пример — манга и комиксы. Узнал про редактора Ольминского;
- стимулируйте фидбек, который можете получить до выступления и после;
- всегда перепроверяйте и перестрахуйте все моменты, связанные с техникой. То, что может сломаться, и даже не может, обязательно сломается в самый важный момент, за минуту до выступления!

Мне очень интересна тема выступлений и конференций. Приятно осознавать, что делишься своим опытом, который принесет пользу другим. Ну и это здорово прокачивает докладчика, улучшает речь и навык общения.

Прокачивайте себя не только в кодинге!
источник
2018 January 06
Android Live 🤖
Рад, что вы проявляете активность и пишите свои мысли. Делюсь мнением, которое прислал подписчик по поводу кроссплатформенной разработки.

«Как раз недавно изучал тему кроссплатформы. Смотрел на React Native. Он позволяет с помощью одного кода создавать нативный UI под разные платформы (в отличие от PhoneGap, Ionic и т.д., которые создают UI через html). React Native используется в Facebook, Instagram, AirBnB, Skype. У них есть блоги где расписано, как его используют, но по сути у всех это несколько экранов в основном приложении. Кроме того, есть Kotlin Native, но пока он позволяет шарить между платформами только бизнес-логику, о UI речь не идет. Выводы примерно такие же — если нужно быстро сделать небольшой проект, то да. Если что-то посерьезнее — лучше native пока ничего нет.»
источник
Android Live 🤖
​​Топ статей из Medium
#статьи #medium

1) Безопасность Android-приложения. — (10 минут)
Автор делится своими мыслями о безопасности приложения. Написано очень подробно, плюс к этому основан на собственном опыте разработки. Куча советов о том, как проверить безопасность своего приложения и как лучше его защитить.
https://medium.com/@yonatanvlevin/bang-bang-you-have-been-hacked-df82db3f2001

2) Как настроить структуру gradle? — (4 минуты)
Статья о том, как лучше организовать структуру gradle файлов.
https://medium.com/mobiwise-blog/let-me-tell-you-how-you-should-build-your-gradle-structure-f13e368e00a4

3) Дизайн адаптивных иконок. — (6 минут)
Рассказ о том, как создавать и применять адаптивные иконки приложений. Почерпнул для себя несколько полезных ресурсов, где можно быстро потестировать свои иконки.
https://medium.com/google-design/designing-adaptive-icons-515af294c783
источник
2018 January 07
Android Live 🤖
60 fps повсюду
#библиотека

Каждый разработчик хочет, чтобы интерфейс его приложения выглядел максимально плавным.
Одним из показателей плавности интерфейса является показатель 60 fps.

Почему именно столько кадров хорошо, можно посмотреть тут. Как же понять, что в приложении действительно 60 fps, и нет сильных просадок?

Для меня отличным решением стала библиотека Tiny Dancer. Очень простая в установке библиотека, добавляет на экран числовую и цветовую метрику, которая показывает текущий fps. Кроме того удобна в тестировании и ее можно отключать в runtime, если в подсчете нет нужды.
источник
2018 January 09
Android Live 🤖
​​Material Cue
#разработка #приложение

Уверен, каждый из Android-разработчиков знаком с Material Design. Для того, чтобы понять, следует экран отступам и размерам, которые прописаны в Material, есть отличное приложение — Material Cue.

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

Здорово, что приложение полностью бесплатное и очень легкое. Рекомендую для использования.
источник
2018 January 11
Android Live 🤖
​​Где лучше работать?
#мысли #вопрос 

Не так давно обсуждали с коллегами вопрос работы. Где лучше работать: в большой или в маленькой компании?

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

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

В таких условиях, часто, человек ощущает себя в роли винтика огромного механизма. Задачи не всегда доверяются интересные, особенно на начальном этапе. 

В маленькой компании или стартапе, человек ощущает себя свободнее.
В самом начале карьеры, я работал в небольшой компании, где было 4 Android-разработчика. Сначала я верстал небольшие view, потом правил не критичные баги. Со временем, под контролем лида я получал значимые задачи, а вскоре было полное доверие. Мне кажется, что в огромной компании я бы не получил подобного роста, причем настолько быстро.

При этом, вероятность умереть у стартапа выше, чем у большой компании. Я работал в стартапе. Было очень интересно, команда и проект были отличные. Но вскоре начались финансовые проблемы...

А как вы считаете, где лучше работать программисту? Рассказывайте интересные или странные случаи ограничений, бюрократии или менеджерской работы, с которыми вы сталкивались, интересно узнать. Потом почитаем вместе тут.
источник
2018 January 12
Android Live 🤖
Друзья, представляю вам следующее #интервью из нашей рубрики. Сегодня у нас на интервью Евгений Мацюк — тимлид Android-разработки в «Лаборатории Касперского».

Пообщались про архитектуру, поговорили про новые архитектурные компоненты от Google, о кроссплатформенной разработке и многом другом.
http://telegra.ph/Intervyu-s-razrabotchikom-Evgenij-Macyuk-Laboratoriya-Kasperskogo-01-10
источник