• MVP в Unity или как упростить жизнь

    Для начала разберемся, что такое MVP (Model View Presenter)


    Зачем же он нужен? Самый простой ответ — для постройки удобной и расширяемой архитектуры.


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

    Читать дальше →
  • Лучшие бесплатные коллекции векторных иконок

      Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

      Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

      В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

      Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


      Responsive Icons

      Читать дальше →
    • альтернатива HTML5 прямо сейчас

        Пока все обсуждают HTML5 я тут пошевелил извилинами и придумал, в общем-то, тривиальную, но полезную концепцию и решение всех ваших проблем с языками разметки. Оно работает уже сейчас в Mozilla, WebKit и Opera.

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

        Зато на это способен XML. Теоретически xhtml2 как раз и является воплощением идей модульности и расширяемости. Но есть одна проблема: все равно вам требуется ждать, пока браузеры начнут его поддерживать. Я сейчас возьму на себя смелость сказать следующее: браузер вообще не должен учиться новому языку разметки и разработчики не должны ждать, пока он ему научится. Все что должен уметь браузер — это обрабатывать xml, css и Javascript.

        Концепция проста: полностью разделить структуру документа, представление и поведение. Это именно то, что уже сегодня можно сделать используя соответственно xml, css и Javascript. Сценарий выглядит следующим образом:

        1. Браузер парсит xml-документ
        2. Браузер парсит css-стили, которые говорят как должны выглядеть элементы, и применяет стили к документу
        3. js-движок браузера выполняет Javascript, в котором описано, как должен вести себя каждый элемент страницы.

        Обратите внимание, что без стилей браузер не знает, что делать с элементом <strong> например. А без описания поведения js-скриптом браузер не знает как себя вести, когда пользователь щелкает по ссылке. Этот подход можно, наверное, назвать DSRB — Document Structure-Representation-Behavior.

        А теперь я покажу вам, собственно, страницу, сделанную описанным выше образом, работает в Mozilla, WebKit и Opera (в Опере есть небольшой непонятный глюк с заголовком) — посмотрите в исходный код обязательно. Недостаток данного подхода состоит в том, что браузеры не хотят выполнять Javascript, если они думают, что перед ними XML-документ. По этой причине мне пришлось указать пространство имен xhtml и избегать стандартных элементов HTML, чтобы браузеры не определяли для них дефолтные стили и поведение. Если браузеры начнут поддерживать Javascript для XML-документов, проблема будет решена.

        В чем преимущество?


        Сообразительные читатели уже догадались, что таким вот способом реализовать HTML5 можно уже хоть сегодня. При этом вы можете добавить в документ нужный вам доктайп или написать свой собственный DTD. Без доктайпа документ будет представлять из себя well-formed XML, что тоже неплохо.

        В будущем, если идея приживется, полагаю, появится множество в чем-то схожих языков разметки. 2-3 из них, видимо, будут самыми популярными. Но, самое главное, что DSRB позволит создавать языки разметки, которые начнут работать в браузерах сразу же.
      • Панацея ли Scrum? Давайте рассуждать вместе, где он нам полезен

          Начну я просто — поясню, что такое Scrum и зачем он нужен, что бы те люди, кто с ним пока не сталкивался, могли с интересом прочесть данную заметку и понять о чём собственно идёт речь.

          Итак, Scrum, это популярная (модная, если хотите) сегодня методология ведения программных проектов. Другими словами, как управлять командой разработчиков, что бы программный проект завершился успешно. Что и как документировать, как, с кем и как часто обсуждать детали проекта, как ставить задачи людям и как контролировать результат. Всё это попадает под термин “методология управления программным проектом”.

          Вам понятно? Отлично! А теперь…
          Читать дальше →
        • Панацея ли Scrum — 2!

            Этот топик, есть продолжение вот этого топика: habrahabr.ru/blogs/pm/39308

            Итак. Продолжим повествование на тему Скрама.

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

            XP — это набор принципов и подходов, меняющих традиционное отношение к разработке современного программного продукта.

            Agile – это общее название группы гибких и достаточно успешных методик организации ведения проектов. Методик, которые, как правило, опираются на принципы XP и предполагают быструю итеративную разработку, тесное общение с заказчиком и, за счёт тесного общения членов команды, минимизацию создания дополнительных сущностей (артефактов/документов), которые традиционно создавались в процессе работы над проектом. Минимизацию всего того, что создаётся помимо самого программного кода.

            Scrum – это одна из конкретных Agile-методик. То есть чёткий шаблон (каркас) организации управления проектом. Со своими терминами и понятиями. Если вы близко следуете именно этому шаблону, то можно сказать, что вы ведёте разработку по Скрам.

            Я часто сталкиваюсь с другой классификацией, когда XP называют Agile методологией. Сложно сказать…
            Читать дальше →
          • Маркетинговые ходы разработчиков CMS

              — Наше подсолнечное масло не содержит холестерина!
              — Разумеется, ни одно подсолнечное масло не содержит холестерина.


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

              Как известно, залог успешного бизнеса – это маркетинг и реклама. Рассказать о преимуществах, недостатки представить как преимущества, а которые не получилось – скрыть. С системами управления контентом точно такая же история. Битрикс и UMI считаются лидерами рынка не потому, что у них действительно хорошие продукты, а потому что у них действительно хорошие маркетологи. В действительности, все CMS по своей сущности мало чем отличаются – они предоставляют совершенно одинаковые возможности, одинаковым образом. Но продукт надо как-то выделить среди остальных, надо что-то написать в разделе «Преимущества системы». Вот и придумывают достоинства, которых не существует или которые вообще не являются достоинствами. Далее о наиболее распространенных из них.
              Читать дальше →
            • Готовим макет для клиента. Часть II: Если гладить, то как?

                Готовим макет для клиента. Часть II: Если гладить, то как?


                Часть I: Гладить или нет?
                Часть II: Если гладить, то как?

                Итак, в первой части мы рассмотрели доводы «за» и «против» экранного сглаживания. Теперь давайте обратимся к практическим примерам и поговорим о некоторых тонкостях подготовки макета для демонстрации заказчику.

                Читать дальше →
              • Что такое «хорошее» ТЗ на сайт?

                  caricat.gifЯ могу припомнить на удивление мало материалов, посвященных проектированию сайтов и программ на русском языке, написанных русскоязычными авторами. Этому способствует и преимущественно экспортно-ориентированная разработка (оффшор) и отсутствие массового опыта создания информационных продуктов в нашей стране.
                  Надеюсь, что эта статья пригодится тем разработчикам и IT-менеджерам, кто ощутил перед собой проблему составления качественных документов на разработку сайта. Документов, которые кроме испорченной бумаги были бы хоть чем-то полезны.
                  Читать дальше →