Эра фулстэк фрэймворков в прошлом. Современные разработчики фрэймворков разделяют свои монолитные репозитории на компоненты с помощью ответвлений в Git, позволяя разработчику выбрать то, что действительно необходимо его проекту. Это означает, что вы можете построить свое приложение на топовых Zend Service Manager, Aura Router, Doctrine ORM, Laravel (Illuminate) Eloquent, Plates, Monolog, Symfony Cache или любых других компонентах, которые можно установить через Composer.
Рубрика «архитектура приложений» - 7
Построение гибких PHP приложений
2017-05-02 в 11:14, admin, рубрики: composer, php, автозагрузка, архитектура web приложений, архитектура приложений, компоненты, модульная архитектура, модульное программирование, ооп, Программирование, Проектирование и рефакторинг, Разработка веб-сайтов, структура кода, структура приложения, структура проекта, файловая структураЧто Mobius 2017 рассказал о мобильной разработке
2017-04-28 в 14:16, admin, рубрики: Andoid, iOS, kotlin, mobius, react native, swift, архитектура приложений, Блог компании JUG.ru Group, конференция, мобильная разработка, разработка мобильных приложений, Разработка под android, разработка под iOS
Слушая доклады на IT-конференции, можно не только узнать много конкретной информации из каждого, но и увидеть более общую картину: вместе доклады говорят о том, чем в данный момент живёт и интересуется индустрия.
В Петербурге на прошлой неделе состоялся Mobius 2017 — как прошло мероприятие, и какие общие выводы о мобильной разработке в 2017-м можно сделать по рассказанному там?
Охота на мифический MVC. Построение пользовательского интерфейса
2017-02-27 в 12:39, admin, рубрики: mvc, Анализ и проектирование систем, архитектура приложений, Проектирование и рефакторингДетектив по материалам IT. Часть вторая
В этой части я покажу как изначально выглядело деление пользовательского интерфейса и что из себя представляли Вид и Контроллер. Попробую рассказать почему в современных GUI библиотеках используется их объединение и какие вообще интересные решения можно найти в этой области на сегодняшний день. Ссылки на первоисточники приведены в начале первой части.
Начну с Вида. Не смотря на то, что Вид определяется как модуль, отображающий Модель – "а view is a (visual) representation of its model", на практике к Виду, как правило, просто относят все графические элементы GUI, то есть Видом считается все то, что мы видим на экране ЭВМ.
Понятно, что тут содержится некое противоречие, поскольку такие графические компоненты как меню, кнопки, тулбары служат не для отображения информации о системе, а прежде всего для управления системой. Клавиатура и мышь всегда были средством управления программой и находились в «ведомости» Контроллера (как бы его не трактовали). Поэтому кажется нелогичным и странным, что кнопки, сделанные из пластмассы, считаются элементами управления и относятся к Контроллеру, а кнопки, нарисованные на экране, и по сути выполняющие те же самые функции (производить входящие события), почему то относят к Виду.
Почему VIPER это хороший выбор для вашего следующего приложения
2017-02-11 в 16:05, admin, рубрики: iOS, viper, Анализ и проектирование систем, архитектура приложений, паттерны головного мозга, Проектирование и рефакторинг, разработка мобильных приложений, разработка под iOS, чистая архитектураКогда я прочитал статью, в которой автор рассказал про то, что архитектура VIPER полна проблем, это вызвало у меня несколько негативные эмоции, после чего я сразу решил написать статью в поддержку архитектуры.
Читать полностью »
Почему VIPER это плохой выбор для вашего следующего приложения
2017-02-09 в 13:49, admin, рубрики: iOS, ios development, viper, архитектура приложений, Проектирование и рефакторинг, разработка мобильных приложений, разработка под iOSЭтот пост является вольным переводом статьи Why VIPER is a bad choice for your next application by Sergey Petrov
За последний год о VIPER писали все кому не лень. Эта архитектура реально вдохновляет разработчиков. Но большинство статей, на самом деле, довольно предвзяты. Они лишь показывают крутизну этого архитектурного паттерна, умалчивая о его негативных сторонах. А ведь проблем у него вовсе не меньше (а может даже и больше) чем у других. И в этой статье я постараюсь объяснить, почему VIPER вовсе не так хорош как о нем говорят, и почему он не подойдет для большинства ваших приложений.
Охота на мифический MVC. Обзор, возвращение к первоисточникам и про то, как анализировать и выводить шаблоны самому
2017-02-07 в 1:48, admin, рубрики: mvc, Анализ и проектирование систем, архитектура приложений, Проектирование и рефакторинг— Не понимаю, почему люди так восхищаются этим Карузо? Косноязычен, гугнив, поёт — ничего не разберешь!
— А вы слышали, как поёт Карузо?
— Да, мне тут кое-что из его репертуара Рабинович напел по телефону.
Детектив по материалам IT. Часть первая
Я осознаю, что писать очередную статью на тему Модель-Вид-Контроллер это глупо и вредно для «кармы». Однако с этим «паттерном» у меня слишком личные отношения – проваленный проект, полгода жизни и тяжелой работы «в корзину».
Проект мы переписали, уже без MVC, просто руководствуясь принципами – код перестал быть похож на клубок спагетти и сократился наполовину (об этом позже, в обещанной статье про то, как мы применяли «принципы» в своем проекте). Но хотелось понять, что же мы сделали не так, в чем была ошибка? И в течении долгого времени изучалось все, что содержало аббревиатуру MVC. До тех пор пока не встретились исходные работы от создателя – Трюгве Реенскауга…
И тогда все встало на свои места. Оказалось что фактически на основе принципов мы пере-изобретали «original MVC». А то, что зачастую преподносится как MVC, не имеет к нему никакого отношения… впрочем также как и к хорошей архитектуре. И судя по тому сколько людей пишет о несостоятельности «классического MVC», спорит о нем и изобретает его всевозможные модификации, не одни мы столкнулись с этой проблемой.
Более 30 лет собранные в MVC идеи и решения остаются наиболее значимыми для разработки пользовательских интерфейсов. Но как ни странно, несмотря на существующую путаницу и обилие противоречивых трактовок, разработчики продолжают довольствоваться информацией «из вторых рук», черпая знания о MVC из википедии, небольших статей в интернете и фреймворков для разработки веб-приложений. Самые «продвинутые» читают Мартина Фаулера. И почему-то почти никто не обращается к первоисточникам. Вот этот пробел и хотелось бы заполнить. И заодно развеять некоторые мифы.
Глобальные объекты и места их обитания
2016-11-29 в 12:17, admin, рубрики: c++, архитектура приложений, Блог компании Playrix, разработка игр, с++ templatesГлобальные объекты получили широкое распространение из-за удобства их использования. В них хранят настройки, игровые сущности и вообще любые данные, которые могут понадобиться где угодно в коде. Передача же в функцию всех нужных аргументов может раздуть список параметров до очень большого размера. Помимо удобства есть и недостатки: порядок инициализации и разрушения, дополнительные зависимости, сложность написания юнит-тестов. Многие программисты предвзято считают, что глобальные переменные используют только новички и это уровень студенческих лабораторных. Однако в больших проектах, как CryEngine, UDK, OGRE, глобальные объекты также применяются. Разница только в уровне владения этим инструментом.
Итак, что же за зверь этот глобальный объект, как его приручить и пользоваться удобствами, сведя недостатки к минимуму? Давайте разбираться вместе.
Читать полностью »
Гомельское Архитектурное Сообщество
2016-11-13 в 9:50, admin, рубрики: Анализ и проектирование систем, архитектура, архитектура приложений, Проектирование и рефакторинг, сообщество разработчиков
В последние годы значительно вырос спрос на специалистов в области проектирования и дизайна систем. Что и не удивительно, потому что приложения и системы с каждым годом становятся все сложнее. Размер команды и команд участвующих в одном проекте растет. Бизнес (заказчик) хочет недорогих решений и быстро. С этим всем приходится сталкиваться Архитектору Программных Решений (Solution Architect или сокращенно SA). Наша индустрия хоть и молода, но уже накопила множество готовых решений, начиная от библиотек и фреймворков до подходов, практик и паттернов.
На каждом проекте мы принимаем большое количество решений, от правильности которых зависит успешность проекта. На все эти вопросы отвечает Solution Architect. Читать полностью »
TDD все еще сравнивают с TLD — мнения экспертов
2016-10-25 в 16:23, admin, рубрики: agile, tdd, архитектура приложений, методологии разработки, мнения, разработка через тестирование, тестирование, Тестирование IT-систем
Специалисты из нескольких ВУЗов Европы – Давиде Фуччи, Джузеппе Сканиелло, Симоне Романе, Мартин Шеппэрд, Бойсе Сигвени, Фернандо Уйагуари, Бурак Туран, Наталья Юристо и Марку Ойиво – провели очередное исследование на тему эффективности тестирования ПО. Они рассмотрели методологии Test Driven Development (TDD) и Test Last Development (TLD).
Исследователи сравнивали их по двум показателям – суммарная скорость разработки продукта и качество исходного кода. Первая методология (разработка через тестирование – TDD) вновь не оправдала возложенных надежд: популярная ранее схема тестирования после разработки (TLD) оказалась не менее эффективной. Так что по указанным выше показателям существенных отличий они не обнаружили.
В таком случае чем же объясняется вспышка интереса к TDD, когда она только появилась? Эта методология возникла в 2000-х, так что теперь элемент новизны можно смело сбросить со счетов. Тем не менее, предметом споров она остается до сих пор.Читать полностью »
«Архитектуры приложений»: немного о бессерверных архитектурах
2016-09-07 в 8:41, admin, рубрики: архитектура приложений, Блог компании ИТ-ГРАД, ИТ-ГРАД, Разработка под e-commerceВ стандарте IEEE 1471 термин «архитектура» определен как базовая организация системы, описывающая связи между компонентами этой системы и внешней средой, а также определяющая принципы её проектирования и развития. В одной из предыдущих статей мы уже рассматривали несколько видов архитектур программного обеспечения. Сегодня мы обратим свой взор на набирающие популярность бессерверные архитектуры, поскольку это достаточно «горячая» тема в сфере software-решений: уже появляется специальная литература, фреймворки, организуются конференции.
Бессерверная архитектура означает, что разработчикам больше не нужно настраивать и администрировать серверы, на которых запущены управляющие программы всей системы. И здесь дело не в том, что нет совершенно никаких серверов, просто вся инфраструктура поддерживается сторонними провайдерами, а необходимая функциональность предлагается в форме сервисов, отвечающих за процессы аутентификации, передачи сообщений и так далее.
/ фото John Voo CC
Читать полностью »