• Перенос редактора Unity на Linux: вещи, которые стоило бы сделать заранее

    • Translation
    На прошедшей в этом году конференции Unite Europe мы опубликовали наш план развития. И хотя там много классных вещей, лично мне больше всего нравится редактор для Linux. История портирования редактора под Linux похожа на историю добавления поддержки Linux для среды выполнения в Unity 4.0. По большому счету это делается для души, часть сотрудников Unity периодически работала над этим в течение некоторого времени, во многом этот проект является одним из итогов внутренних хакерских недель (hackweek) среди разработчиков Unity — и я бы сказал, что дело продвигается весьма неплохо. Достаточно скоро мы планируем выпустить экспериментальную сборку, которую вы все сможете попробовать.

    Портирование редактора на Linux потребовало немало усилий — намного больше, чем перенос среды выполнения. Частично это обусловлено тем, что именно в редакторе воплощено большинство наших собственных технологий (включая сложную интеграцию со сторонними разработками), частично из-за базы данных ресурсов, частично из-за проблем с чувствительностью к регистру. Наш редактор состоит из:


    Читать дальше →
    • +19
    • 23.2k
    • 9
  • Глубокое погружение в систему рендеринга WPF

    • Translation
    На перевод этой статьи меня подтолкнуло обсуждение записей «Почему WPF живее всех живых?» и «Семь лет WPF: что изменилось?» Исходная статья написана в 2011 году, когда Silverlight еще был жив, но информация по WPF не потеряла актуальности.

    Сначала я не хотел публиковать эту статью. Мне казалось, что это невежливо — о мертвых надо говорить либо хорошо, либо ничего. Но несколько бесед с людьми, чье мнение я очень ценю, заставили меня передумать. Вложившие много усилий в платформу Microsoft разработчики должны знать о внутренних особенностях ее работы, чтобы, зайдя в тупик, они могли понимать причины произошедшего и более точно формулировать пожелания к разработчикам платформы. Я считаю WPF и Silverlight хорошими технологиями, но… Если вы следили за моим Twitter последние несколько месяцев, то некоторые высказывания могли показаться вам безосновательными нападками на производительность WPF и Silverlight. Почему я это писал? Ведь, в конце концов, я вложил тысячи и тысячи часов моего собственного времени в течение многих лет, пропагандируя платформу, разрабатывая библиотеки, помогая участникам сообщества и так далее. Я однозначно лично заинтересован. Я хочу, чтобы платформа стала лучше.


    Читать дальше →
  • Новости с Xamarin Evolve 2014 — система мониторинга Insights, эмулятор Android Player, Profiler, UITest, прототипирование в Sketches

      Xamarin Insights — новая система мониторинга отслеживает все происходящее в приложении от непойманных исключений до кликов на кнопки, включая продолжительность операций и данные об устройстве

      эмулятор Xamarin Android Player запускается на Windows или Mac с помощью аппаратной виртуализации и позволяет быстро отлаживать приложения

      Sketches позволяют быстро набросать код на C# или F# и сразу увидеть результаты его выполнения включая интерфейс пользователя

      Xamarin Profiler собирает информацию по проблемах с производительностью и утечках памяти

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

      — шесть крупнейших разработчиков компонентов для .Net — Syncfusion, Telerik, Infragistics, Steema, ComponentOne, DevExpress, перенесли их на Xamarin.Forms. Все компоненты будут доступны в Xamarin Component store в этом году. Компоненты от SyncFusion и Telerik доступны прямо сейчас. Заключено партнерское соглашение с IBM, выражающееся в выпуске IBM MobileFirst SDK for Xamarin и IBM MobileFirst Add-Ons для Xamarin Studio и Visual Studio



      Читать дальше →
    • История разработки Xenonauts — независимого ремейка X-COM

      • Translation
      Разработка Xenonauts заняла пять лет. На нее ушло в десять раз больше времени и в двадцать раз больше денег, чем я ожидал, но она стала настолько важной частью моей жизни, что мне даже немного жаль, что это путешествие завершилось. С разработкой было связано немало личных рисков. Когда она началась в 2009 году, мне было 22 года и я ничего не знал о разработке игр. Я потратил на этот проект все свои сбережения, значительную часть которых составляло наследство. Моим офисом была моя спальня, я работал над Xenonauts по вечерам и на выходных, после полноценной рабочей недели консультанта в KPMG, включавшей в себя три года экзаменов по бухучету (провал каждого из них привел бы к моему увольнению). К счастью, все закончилось хорошо. Эта статья представляет собой обещанный на Кикстартере дневник, в котором оцениваются все стороны разработки — правильно я поступал или нет. Надеюсь это будет интересно и возможно поможет кому-то избежать моих ошибок.


      Читать дальше →
    • Shovel Knight — от планирования и Kickstarter до лидера продаж на PC и Nintendo

      • Translation
      Уже больше месяца Shovel Knight продается на Wii U/3DS в США и по всему миру на Steam (только английская версия)! Очень непривычно видеть нашего повзрослевшего Kickstarter-птенчика на воле. Верите или нет, но одной из причин, по которой мы бросили свои надежные работы и отправились в мир инди было желание сделать процесс разработки более доступным для публики — чтобы вы могли лучше понять как делаются игры и как измеряется их успех. Сегодня мы займемся именно этим!

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

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


      Читать дальше →
    • UNET — новая сетевая технология в Unity 3D

      • Translation
      Некоторое время назад, на конференции Unite Asia, мы сообщили о разработке новых мультиплейерных инструментов, технологий и служб для разработчиков Unity. Внутреннее название этого проекта — UNET, что означает просто Unity Networking. Но наши планы простираются далеко за пределы простой работы с сетью. Как вы все знаете, основной целью Unity является демократизация процесса разработки игр. Команда Unity Networking хочет демократизировать разработку многопользовательских игр. Мы хотим, что бы все разработчики игр могли разрабатывать многопользовательские игры любого типа с любым количеством игроков. Само собой это не самая простая задача, но мы все уже решали ее в прошлом и очень хотим сделать это снова (потому что это действительно классно!). Мы решили разделить нашу общую цель на несколько фаз, что должны быть хорошо знакомо Unity-разработчикам. Согласно этому подходу мы выпустим фазу 1, получим отзывы пользователей, учтем их в нашей работе, что бы сделать следующую фазу еще лучше и повторим этот цикл. Для UNET фазой 1 будет то, что мы называем — Multiplayer Foundation — о ней мы расскажем чуть ниже. Фаза 2 будет построена на основе фазы 1 и предоставит технологию создания игр с авторизацией на сервере, которую мы называем Simulation Server, о ней в следующих статьях. В фазе 3 мы добавим возможность координировать множество Simulation Servers с помощью системы Master Simulation Server. Как всегда, точную дату выпуска назвать невозможно, особенно с учетом сбора отзывов от наших пользователей. Но мы можем сказать, что фаза 1 будет частью цикла релизов 5.х, а фаза 2 сейчас находится на этапе исследований.


      Читать дальше →
    • Classcraft превращает школьные уроки в огромную ролевую игру — с условно-бесплатной моделью

      • Translation
      Класс Шона Янга (Shawn Young) состоит из воинов, магов и лекарей. Воины могут есть в классе, маги способны телепортироваться с лекций, а лекари спрашивать, правилен ли ответ на экзамене. Это не фантастика в духе Dungeons & Dragons. Прямо сейчас так учатся более 7000 детей в 25 странах мира. Янг, учитель физики старших классов, три года разрабатывал и улучшал школьную ролевую игру Classcraft, которая, по его словам, способна помочь отстающим студентам.

      Пока Classcraft бесплатен, но осенью в нем будет введена условно-бесплатная система оплаты, напоминающая множество мобильных игр и проекты вроде League of Legends или Runescape. Это должно привлечь внимание образовательной системы, привыкшей к строгим бюджетам и попользовательской оплате образовательных программ, особенно когда ее сотрудники осознают, что ученики будут покупать доспехи и питомцев для своих Classcraft-аватаров в iTunes


      Classcraft обновляется прямо на уроках, по мере использования учениками своих способностей
      Читать дальше →
    • Анонсирован Xamarin 3

        Анонсирован Xamarin 3 — кросс-платформенная среда разработки на C# для большинства мобильных платформ. Основные нововведения: дизайнер интерфейса для iOS Xamarin Designer, кросс-платформенная библиотека для построения пользовательского интерфейса Xamarin.Forms, улучшения IDE, новые методики повторного использования кода.

        1. Xamarin Designer для iOS — визуальный дизайнер для iOS, работающий и в Xamarin Studio и Visual Studio. Поддерживается полная совместимость с форматом Storyboard, так что Visual Studio и Xamarin Studio могут использоваться совместно с Xcode Interface Builder. Нестандартные элементы управления прорисовываются прямо в дизайнере. Подробнее о Xamarin Designer.


        Читать дальше →
      • Будущее скриптов в Unity 3D

        • Translation
        Недавно мы написали статью про поддержку WebGL в Unity. В ней мы кратко рассказали о том, как будут работать скрипты в WebGL с использованием новой технологии IL2CPP. Однако IL2CPP — это нечто гораздо более масштабное, нежели просто новое решение для скриптов в WebGL, это наша собственная, высокопроизводительная реализация .Net Runtime, которая будет выпущена на многих платформах.

        Но перед погружением в будущее стоит поговорить о настоящем.

        Скрипты в Unity сегодня


        Мы используем MonoWinRT для приложений Windows Store и Windows Phone) чтобы привнести в Unity простоту использования C#, доступ к сторонним библиотекам и практически двоичное быстродействие. Но есть несколько сложностей:

        — быстродействие среды исполнения C# все еще уступает C/C++
        — последние и лучшие возможности языков и среды исполнения .Net не поддерживаются версией Mono, используемой сейчас в Unity
        — с примерно 23 платформами и вариантами архитектуры требуется очень много усилий на перенос кода и поддержку его качества на одинаковом уровне
        — сборка мусора может вызвать задержки при выполнении


        Читать дальше →
      • Разработка через жалобы

        • Translation
        В течение последнего года я мало писал, так как был занят разработкой нового средства для ведения дискуссий. Если вы, вслед за моими инвесторами, хотите знать, почему это заняло целый год, мне стоит объяснить, как именно я делаю программы, или, как минимум, как мы сделали Stack Overflow, Stack Exchange и, теперь, Discourse:

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

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

        3. Начните использовать этот продукт вместе со всей командой, каждый день, весь день. Это не просто разработка: это вся ваша жизнь. Если вы не живете разрабатываемой программой каждый день, целый день… проект неизбежно ждет плачевный исход. И, честно говоря, если мне приходится вам это объяснять, то знаете что? Вы в заднице.

        Читать дальше →
        • +34
        • 11.1k
        • 9
      • Интервью с Дином Холлом о процессе разработки DayZ

        • Translation
        Популярность DayZ намного превзошла ожидания ее создателя, Дина Холла (Dean Hall). Сейчас он вместе с командой разработчиков ARMA из Bohemia Interactive занимается радикальной переделкой популярного мода в самостоятельную игру, переходом к серверной технологии из MMO и добавлением большого количества нововведений в игровой процесс. Свой успех он связывает с личными историями игроков и тем, как специфический дизайн игры задевает врожденные инстинкты людей в отношении потерь и приобретений. В эклектичном интервью Холл рассказывает о самых разных вещах: от того, как карьера в армии вдохновила его на создание игры, до интеграции Steam в процесс разработки внутри команды и надежды на успешный выпуск Minecraft-подобной альфа-версии (уже после этого интервью, взятого в мае 2013, в раннем доступе Steam был продан миллион копий альфа-версии за четыре недели после выхода).


        Читать дальше →
      • Сделка Google и Lenovo укрепляет экосистему Android

        • Translation
        • Продажа Motorola Mobility — это очередной шаг Google по укреплению своей экосистемы, которая сейчас находится в несколько хаотичном состоянии
        • Google наконец-то решилась избавиться от Motorola Mobility, продав ее примерно за половину от суммы, уплаченной за компанию три года назад
        • Это снимает крупнейшее противоречие, связанное с Android, так как Google перестает конкурировать с другими производителями смартфонов и становится еще более выгодным партнером


        Читать дальше →
      • Интервью с Сидом Мейером: Ace Patrol, эволюция Civ и будущее стратегических игр

        • Translation
        Сид Мейер — легенда игрового дизайна. Он был одним из основателей MicroProse в 1982 и создал Civilization, одну из самых долгоживущих и любимых игровых серий. Будучи творческим директором Firaxis и куратором серий Civ и XCOM Мейер может быть привередливым в выборе работы. Его выбор: Ace Patrol, пошаговая, вдохновленная настольными играми стратегия на тему первой мировой войны, с низкой ценой и глубокими стратегическими возможностями. PC Gamer обсудил с Мейером о его интерес к маленьким играм и то, как они дали его команде возможность немного рискнуть. Так же он поделился своим мнением о меняющемся рынке стратегических игр, ведь по его мнению все игроки в глубине души являются любителями стратегий.

        PC Gamer: как вы пришли к Ace Patrol?

        Сид Мейер: Это была возможность сделать игру за более короткий промежуток времени и с меньшей командой. Как мне кажется, последней игрой, которую я действительно закончил, была Civ Revolutions. Мы сделали несколько крупных игр, Civ и XCOM, они великолепны, но при работе над ними мне очень захотелось поработать в маленькой команде и создать игру за меньший промежуток времени. С низким бюджетом у вас больше возможностей сделать что-то более рискованное. Разработка для iPad тоже была интересным, новым вызовом — новый тип устройств, новый интерфейс. У меня была идея пошаговой авиационной игры о первой мировой войне. Изначально я представлял ее себе карточной. В начале работы над версией для iPad у нас были виртуальные карты и все в таком духе. Я довольно долго обдумывал идею этой игры.


        Читать дальше →
      • Dwarf Fortress в 2013. Авторы рассказывают о процессе разработки и планах на будущее

        • Translation
        «Мы создали каркас версии 1.0 — у нас есть огромный план и куча всевозможных идей, что-то входит в него, что-то нет» — Тарн Адамс и его брат Зак уже 11 лет разрабатывают процедурно-генерируемую фэнтези-игру Dwarf Fortress, если же учитывать работу над DragSlay и Slaves to Armok, сильно повлиявшими на игру в начале разработки, то получатся все 13 лет. Хотя вы можете бесплатно скачать игру прямо сейчас, версия 1.0 появится еще очень и очень нескоро. Тарн Адамс недавно сказал, что 1.0 можно ждать примерно через 20 лет, хотя скорее всего она появится еще позже «потому что я всегда недооцениваю время, необходимое для завершения работы».

        Но какими бы ни были временные рамки, у братьев Адамс есть четкая цель. Они понимают, что уже не раз застревали на самых разных этапах разработки, так что их способ движения вперед заключается в том, чтобы разложить перед собой все идеи и выбрать, куда двигаться дальше в ближайшем будущем. «Мы стараемся оставаться в рамках плана» — говорит Адамс — «когда мы выполним его, получится версия 1.0. После этого можно будет добавить множество разных вещей, но нам будет более 50 лет — есть масса жизненных решений, которые надо принимать в таком возрасте, так что вряд ли мы будем придерживаться этого плана еще пять лет».


        Читать дальше →
      • Смерть OS/2: убийство или самострел?

        • Translation
        Моя первая статья про OS/2 в основном состояла из извинений за личный вклад в провал OS/2. Но я не могу возложить всю вину на себя. Честно говоря, у провала OS/2 были тысячи причин, с подавляющим большинством которых я ничего не мог поделать. Вот некоторые из них.

        Давным-давно IBM зарабатывала сумасшедшие деньги на большом железе — мейнфреймах настолько крупных, что один из немецких университетов обогревался системой охлаждения компьютера Синего Гиганта.

        Даже «миникомпьютеры» нередко занимали целую комнату, что давало IBM полный контроль над покупателями. Организации просто принимали как данное тот факт, что обеспечение серьезных вычислительных мощностей требовало серьезого количества денег. IBM понимала, что может просить столько денег, сколько захочет — и делала это. Персональные компьютеры не вписывались в эту модель.


        Эпоха IBM, в которую машины, принтеры, диски, люди, коты и собаки жили вместе.
        Читать дальше →
      • Воспоминания сотрудника IBM: как я нашел жену, отлавливая ошибки в OS/2

        • Translation
        (В недавнем обзоре истории OS/2 давалась очень обобщенная картина разработки ОС. Надеюсь его хорошо дополнит взгляд изнутри самой IBM, воспоминания рядового тестера OS/2.)

        Богопротивный альянс IBM и Microsoft выпустил OS/2 25 лет назад, чтобы заменить Windows, Unix и DOS. В то время я был рядовым солдатом этой войны: тестером, работающим в Синем Гиганте по договору. Жестокая судьба и еще более жестокий редактор хотят, чтобы 25 лет спустя я написал статью о том, стоит ли вам сейчас посвящать свою карьеру Microsoft. И меня до сих пор поражает то, насколько не знающие историю люди обречены ее повторять.

        В конце 1980-х большая часть PC все еще выполняла только одну программу за раз, хотя многие из них были заражены сражавшимися друг с другом резидентными программами. Графические интерфейсы уже пришли на PC, но Windows-приложения работали просто ужасно: даже если вы просто включали Windows PC и больше ничего не делали, была немалая вероятность того, что он зависнет сам по себе.

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

        IBM была патологически скрытной. Мое собеседование в основном состояло из вопросов в духе «итак, Доминик, расскажите о себе» без малейших намеков на то, чем мне предстоит заниматься. Так как я принимал участие в проекте Microsoft Unix для Intel x86, я ответил: «В определенном смысле моя работа заключалась в том, что я портил жизнь Microsoft». Сотрудник отдела кадров IBM сказал, что, как правило, их начальству требуется «должное количество времени» для принятия решения, но в этот раз предложение работы пришло на мой автоответчик еще до того, как я вернулся домой.
        Читать дальше →
      • OS/2 четверть века спустя: почему IBM проиграла, а Microsoft выиграла

        • Translation
        Двадцать пять лет назад IBM представила генеральный план восстановления контроля над рынком PC. В ноябре 1987 года в магазины отправились первые дискеты с OS/2 версии 1.0. Microsoft разрабатывала ее вместе с IBM и в случае успешной реализации этих планов мир был бы совсем иным. И мир уже начал меняться.

        Сейчас о OS/2 обычно вспоминают только в связи с той ролью, которую она сыграла в промышленной войне, окончившейся триумфальной победой Microsoft. На момент выпуска OS/2 в Microsoft работало 1800 человек, меньше, чем сейчас работает в ливерпульском телемагазине QVC. Microsoft даже не была крупнейшим производителем программ для PC. Но всего через несколько лет компания стала не только крупнейшим игроком отрасли, но и одной самых дорогих компаний в мире; один лишь слух о выходе Microsoft в новую нишу вызывал панику у существующих игроков.

        Согласно традициям нашего издания я вернул старые программы к жизни и оценил OS/2 с современной точки зрения. Но гораздо интереснее вновь задать иной вопрос: могла ли IBM победить? Если именно OS/2 стала причиной поражения Синего Гиганта, то смогли бы они остановить Microsoft с помощью более хитрых планов? Давайте вернемся в те времена, когда мир еще не знал слов «платформа» и «экосистема» и вспомним, как выглядела отрасль информационных технологий в середине 1980-х.


        Читать дальше →
      • За «интернетом вещей» стоит Android — и он везде

        • Translation
        Рабочее место Кена Оядомари (Ken Oyadomari) в исследовательском центре NASA Ames, Маунтин-Вью, Калифорния, похоже на склад смартфонов. На столах валяются детали от десятков разобранных устройств. Маленькая команда молодых инженеров разбирает результаты электронной бойни, тщательно отбирая материнские платы размером с кредитную карту — микропроцессорные сердца большинства компьютеров — которые теперь будут переделаны в мозги спутника размером чуть больше бейсбольного мяча. Как правило производство и запуск спутника стоит миллионы долларов. Стоимость наноспутников Оядомари составляет примерно 15 тысяч долларов и продолжает снижаться. Он рассчитывает сделать их доступными для школ, отдельных любителей и всех, кто хочет ставить научные эксперименты в космосе.

        Они такие маленькие и дешевые потому, что работают на Android, операционной системе от Google, которая знакома всем покупателям смартфонов и планшетов. Это самая популярная мобильная ОС, оставившая конкурентов далеко позади: по мировым продажам мобильники на Android в 4 раза опережают iPhone от Apple. Но даже столь впечатляющие цифры на самом деле принижают превосходство Android, потому что она во все большей степени становится операционной системой для любых устройств с процессором. Наряду с наноспутниками Оядомари, три из которых недавно были запущены на орбиту, на Android работают кофеварки, видеоприставки, винтовки, размещающие видео в Facebook, и роботизированные комбайны для фермеров.



        Читать дальше →
      • Какими должны быть стандарты (на примере медицинских данных)

        • Translation
        Кратко об авторе исходной статьи: Адам Босворт (Adam Bosworth) начал карьеру в Borland, где работал над системой электронных таблиц Quattro. Перейдя в Microsoft он занимал различные руководящие должности, включая пост главного руководителя группы WebData, занятой созданием и продвижением XML. Кроме этого он занимался Access и движком Internet Explorer 4.0 с кодовым именем Trident. Уйдя из Microsoft Адам вошел в число сооснователей Crossgain, после ряда поглощений их основной продукт превратился в Oracle Workshop for WebLogic. В 2004-2007 годах Босворт занимал пост вице-президента по разработке продуктов в Google, где занимался Google Docs и руководил разработкой Google Health (закрыта с 1 января 2012, когда-то о ней писали на хабре). После ухода из Google он основал стартап Keas, использующий элементы социальных сетей и игр для улучшения здоровья.

        На этой неделе меня любезно попросили принять участие в качестве эксперта в правительственном совещании (1) о стандартах. В это время я обычно сплю, но в нужный момент я был бодр и сидел у телефона, несмотря на все свое отвращение к недосыпанию. Что заставило меня так поступить? Обсуждались способы, с помощью которых медицинские данные можно было бы на самом деле сделать прозрачными. Какие стандарты надо использовать для совмещения подобных данных?

        К собственному удивлению и в какой-то степени боли, я успел поучаствовать в разработке нескольких стандартов. Один из них использовался для обмена данными между базами данных и пользовательскими приложениями вроде электронных таблиц или Access. Он назывался ODBC и отлично показал себя, несмотря на некоторые затруднения в начале. Другим был стандарт того, что сейчас называется AJAX, создания сложных, интерактивных веб-страниц вроде Gmail. Наверное самым важным был XML. Это все успехи. Были и провалы. Особенно хорошо я помню OLE DB, которым мы хотели заменить/вытеснить ODBC. Одним из балансировавших на грани успеха и провала был/является XML Schema. В результате всех этих усилий я выучил несколько уроков, которыми постараюсь поделиться с вами. Каковы они?
        Читать дальше →
      • M в MVC: почему модели непоняты и недооценены (перевод)

        (статья очень старая, по поднятые в ней вопросы актуальны по сей день и регулярно поднимаются в различных обсуждениях)

        Многие из вас наверняка заметили, что я пишу книгу о Zend Framework. Недавно я закончил черновики двух глав: «Архитектура приложений на Zend Framework» и «Понимая Zend Framework». В первой главе объясняется архитектурный шаблон Model-View-Controller (MVC) и причины, по которым он стал стандартом де-факто для веб-приложений. Во второй исследуется связь MVC с компонентами Zend Framework, их структурой и взаимодействием.

        Завершив обе главы я осознал, что большую часть времени описывал модель и ее фактическое отсутствие в Zend Framework. На самом деле ни один веб-фреймворк не предлагает нам полноценную модель (по причинам, которые я объясню чуть позже). И ни в одном из них не дается внятного объяснения этому обстоятельству. Вместо этого они последовательно связывают понятие модели с родственным, но не идентичным понятием доступа к данным, что изрядно всех запутывает.

        Эта сторона фреймворков никогда не привлекала особого внимания. И все же именно она лежит в основе целого класса проблем в тех приложениях, которые пытаются использовать MVC по образу и подобию фреймворков для веб-приложений. Более того, попытки донести идею модели до других разработчиков нередко напоминают битье головой о стену. Я не хочу сказать, что все разработчики тупые или не понимают саму идею, просто никто из них (вне зависимости от того, работают они с PHP или нет) не связывает модели с той областью, которая наделяет их смыслом — принципами объектно-ориентированного программирования.
        Читать дальше →