• Flutter + чистая архитектура: разбираем на примере

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

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

      Flutter - стремительно набирающий популярность фреймворк для разработки кроссплатформенных приложений. В списке поддерживаемых платформ - iOS, Android, web, в бете находится поддержка десктопа.

      Под катом - рассказ о том, как построить flutter-приложение с использованием идей чистой архитектуры.

      Читать далее
    • Не нужно делать из фреймворков культ — они не настолько сложны, чтобы делить людей на React и Angular разработчиков



        Недавно меня позвали гостем в «Тяжелое утро с Holy.js», чтобы хорошенько пропесочить за мою статью про глупцов-фронтендеров. Мы обстоятельно поговорили, и один из аргументов был такой — если наши js фреймворки жрут неоправданно много на простых задачах — просто не используй их. Если тебе просто надо порендерить четыре формы, то тебе не нужен ни реакт, ни тайпскрипт, ни вебпак — ничего. Создаешь три файлика .html, .css и .js — вот тебе и приложение.

        Ничего не надо никуда билдить, никакого стат анализа, и никакой прожорливой и тормозной ноды на твоей машине — все быстро и просто. Так можно строить и достаточно большие приложения — ведь тот же vs code вполне себе может тайпчекать твой js. Другие проблемы, которые можно решать большими фронтенд инструментами во-первых часто выдуманы их создателями, а во вторых если и создают большую боль — то только на действительно больших приложениях.
        Читать дальше →
      • Студенческие IT стажировки — как мы стараемся делать их наиболее эффективными

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

          Читать далее
          • +10
          • 1,8k
          • 7
        • Приглашаем на конференцию Azov Developers Meetup 2019 — 19 октября в Таганроге



            19 октября проводим в Таганроге пятую ежегодную конференцию Azov Developers Meetup. Приглашаем всех желающих, регистрация бесплатна!

            Начнем в 9 утра в конгресс-отеле «Таганрог» на ул. Дзержинского, 161 с традиционного приветственного кофе и регистрации. Как и в прошлые годы, будет 2 потока,
            В первом потоке — доклады по фронтенд, мобильной разработке, управлению, DevOps, QA и безопасности. Второй поток целиком состоит из трёх воркшопов: по профессиональному выгоранию, фасилитации и канбану.
            Читать дальше →
          • Теперь хороших разрабов меряют по просмотрам и подписчикам. Плохо ли это?

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

            Читать дальше →
          • Принципы построения REST JSON API

            • Tutorial

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


            Зачем


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


            • Стандарт HTTP это стандарт. Его несоблюдение вредно для кармы и ведёт к постоянным проблемам с безопасностью, кэшированием и прочими "закидонами" браузеров, которые совсем не закидоны, а просто следование стандарту.
            • Велосипеды со всякими {error: "message","result":...} невозможно нормально тестировать и отлаживать
            • Поддержка большим количеством готовых клиентских библиотек на все случаи жизни. Те, кто будет вашим api пользоваться, скажут большое человеческое спасибо.
            • Поддержка автоматизированного интеграционного тестирования. Когда сервер на любые запросы отдаёт 200 ОК — ну, это такое себе развлечение.
            Читать дальше →
          • devleads — поговорим о профессиональном выгорании

              Привет! В рамках проекта devleads мы с ребятами решили сделать подкаст для всех неравнодушных к менеджменту в IT-сфере — тимлидов, руководителей разработки и им подобных.

              Кто мы:

              • Я, Илья Царев, руководитель мобильной разработки Альфа-Банка.
              • Илья Кузнецов, imJustik, iOS-тимлид Альфа-Банка.
              • Никита Майданов, NikoGenn, руководитель мобильной разработки в Welps.


              В этом выпуске мы затронем тему профессионального выгорания (в частности — выгорания тимлида) и связанных с ним мифов. А поможет нам в этом психолог Анастасия Калашникова.

              Мы поговорим о профилактике выгорания, о том, почему нормально говорить коллегам «Нет», что делать, если шеф сидит на работе по 10 часов, а вам неудобно из-за этого уходить вовремя, и о многом другом.

              — Меня зовут Анастасия, я психолог, и большая часть моих клиентов — это люди из IT. Разработчики, тестировщики, дизайнеры, админы и прочие. Мы часто обсуждаем и нетехнические проблемы, с которыми сталкиваются айтишники, в том числе и выгорание, тему самозванца и подобное.

              — Расскажи, пожалуйста, что такое вообще «выгорание».
              Читать дальше →
            • Получаем сертификат Google Associate Android Developer

                Сам по себе экзамен на получение сертификата Associate Android Developer давно уже не новость, статья про эту сертификацию была и на хабре. Однако, пока я размышлял на тему «А не получить ли мне такой сертификат?», оказалось, что программу сертификации прикрыли в мае 2018.


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

                  По долгу службы я занимаю согласованием технического задания по разработке мобильного приложения с заказчиком. Часто задается вопрос — а можем ли мы авторизоваться в приложении по биометрическим показателям, таким как лицо или отпечаток пальца? Есть несколько различных аргументов, но все они неутешительны. В статье я хочу все же до конца объяснить, почему биометрические характеристики при авторизации в информационных системах не работают, и почему работают на персональных устройствах.
                  Читать дальше →
                • 9 лучших книг про IT и программирование, которые вы могли пропустить

                    image

                    Помните, Льюис Кэрролл писал: «Здесь приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее»? Это фраза прекрасно подходит для IT-мира: технологии быстро развиваются, и каждый день нужно осваивать что-то новое, чтобы оставаться востребованным специалистом. У каждого программиста наверняка есть 5-6 бумажных книг, ставших классикой. О некоторых таких книгах мы уже писали. Но чтобы оставаться востребованным кодером, надо постоянно обновлять библиотеку. В прошлом году портал DevMountain сделал подборку из семи не слишком популярных книг для начинающих программистов. Учитывалась не только оценка портала, но и отзывы на Amazon, а также рекомендации популярных блогов. Автор GeekBrains Илья Бубнов внимательно изучил этот список, а также дополнил подборку парой свежайших экземпляров.
                    Читать дальше →
                    • +22
                    • 97,6k
                    • 3
                  • Защищенность переменных в Kotlin на примере Java

                      Совсем недавно у меня состоялся разговор с коллегой по поводу новых языков программирования. После того, как разговор зашел о Kotlin, мой друг обронил фразу «Там нулл нельзя передавать, если не указал, что переменная может быть nullable». Эта фраза сильно озадачила меня — а действительно ли, так важны киллер фичи Котлина в сравнении с уже известными языковыми возможностями Явы? Размышления на этот вопрос вылились в целый комплекс примеров, в рамках которых я хочу показать (в первую очередь самому себе, наверно), зачем же нужны все эти новые языковые возможности.

                      Самая скучная часть разработки на уже обкатанном языке — рутинные задачи. Например, показ картинок. Абсолютно рядовая задача, которая в любом проекте обрастает рядом условностей.
                      Читать дальше →
                    • Выразительный Kotlin. Extensions

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

                      fun bindCell1(view: View, data: Data) {
                          view.cell1_text.setText(data.titleId)
                          view.cell1_icon.setImageResource(data.icon)
                      }

                      Очевидный метод, у которого есть одна очень досаждающая мне неряшливость — каждый раз необходимо указывать ссылки view. и data. Каждая строка содержит 10 символов, которые очевидны.
                      Читать дальше →