[Перевод] Почему snowkit

Сейчас я хочу кратко рассказать почему и как появился коллектив snowkit и соответствующие библиотеки.Если вы еще не читали анонс snowkit — я бы советовал вам прочитать сначала его (перевод).Честолюбивые замыслыДа, это реальная причина создания snowkit и библиотек. Я верю в то, что Хакс обладает прекрасным потенциалом, который уже сейчас проявляется в поразительном росте популярности, прекрасном качестве, библиотеках, инструментах, фреймворках, играх и сообществе. Haxe Foundation продолжает двигаться в правильном направлении, прикладывает огромные усилия для того, чтобы сделать компилятор и поддержку платформ лучше и лучше, занимается улучшением сайта и документации. Этим занимаются прекрасные люди и вы может к ним присоединиться и помочь.snowkit является продолжением работы в этом направлении и, я надеюсь, станет примером высококачественной, поддерживаемой сообществом инфраструктуры для Хакса, которой мы и новые участники сообщества будут пользоваться в будущем. Создавая snowkit я хочу показать Хакс во всей его красе.

Краткая история По пути к luxe Для создания своих игр и участия в геймдежмах я всегда использовал свои собственные движки и инструменты. В 2009/2010 я создал движок, который, на мой взгляд, можно было уже показать и отдать другим пользователям. Я начал работу на документацией и подготовкой его первого релиза. Домашняя страница этого движка выглядела примерно вот так: imageСоздавая этот движок я хотел создавать игры быстро и эффективно и хотел, чтобы они без дополнительных усилий могли быть запущены на всех необходимых мне платформах. Движок я написал на С++ и после примерно года использования я интегрировал в него V8 (движок яваскрипт) и перенес все игровые классы на яваскрипт. Все это помогло мне достичь почти всех поставленных целей. Были проблемы с портированием V8 на iOS и в итоге я заменил его на SpiderMonkey.

Haxe/nme Я пользовался своим движком для создания многих игр, но не был полностью удовлетворен им, чтобы представить его на суд широкого общества. Это продолжалось до тех пор, пока в 2011 я не наткнулся на Хакс и NME.Хакс (как язык и инструментарий) дал мне подход «напиши один раз — опубликуй везде», который я так долго искал. NME дал мне простой API, очень похожий на API Flash, который позволял мне экспериментировать и пробовать то, что я хочу. Я был вдохновлен простотой системы сборки и возможностью работать очень быстро.Встречайте lime Но после нескольких недель использования я захотел вернуться к моему собственному API (я ненавижу флеш API, простите) и я хотел портировать мои старые игры, но к сожалению, большая разница в API не позволяла этого сделать. Я выяснил, что можно отделить NME API и получить доступ к нативному коду и продолжать пользоваться инструментами и поддерживаемыми платформами. Благодаря огромным усилиям со стороны Джошуа это в итоге стало возможным сделать в OpenFL.Я принялся за работу с удвоенными силами, для того чтобы сделать инструменты более гибкими и независимыми, что позволило бы мне заняться реинкарнацией моего движка. Не смотря на наличие костылей и подпорок через несколько недель мне удалось сделать версию, которая была бы пригодна для использования.

И luxe Все время моей конечной целью оставалось создание надежного, портируемого, простого в использовании движка для моих игр и для людей, которые работают так же как я. Я заметил, что использование Хакса и OpenFL позволяет приблизиться к поставленной цели на 90%. Но кроме того, я заметил, что очень много времени я уделил на развитие инфраструктуры Хакса, OpenFL«а и его поддержки нативных платформ.Примерно с мая 2013 по март 2014 я был удовлетворен тем, куда и как все это движется. Мои изменения принимались в репозиторий и между тем я собирал вокруг себя сообщество программистов. Тогда же мне стали приходит мысли, о том, чтобы предложить им стабильный и надежный инструмент и о том, что я хочу контролировать те решения, которые принимаются относительно используемого инструмента.

Затем пошел снег Изначально он назывался lumen. Мне пришла идея полностью отделить поддержку нативных и web платформ от того набора инструментов, который я использовал. У меня ушли выходные, чтобы сделать это, и я был удивлен насколько чистым и компактным получилось решение. Проделанная работа не осталась не замеченной, и мы постарались использовать полученное решение везде, где возможно.snow приобрел форму и изначально базировался на aether (система сборки OpenFL). Но со временем стало понятно, что XML формат слишком громоздкий для его нужд и, к тому же, aether имеет довольно большое время сборки. Я начал работать над новым гибким форматом описания проекта и в результате, также, как и со snow, решил попробовать создать систему сборки с нуля.

Рабочий поток После долгого использования NME, затем lime, а затем и aether я принял решение полностью отказаться от их использования. И должен сказать, что полностью удовлетворен результатом. Я и мои товарищи начали тестировать полученные инструменты и вскоре нам стало понятно, что полученную троицу можно использовать по полной.Итак — luxe С тех пор как luxe приобрел свою текущую форму есть еще очень много всего, что можно показать — инструменты, редакторы, модули и библиотеки. И мои товарищи, которые использовали snowkit, настояли на том, чтобы отдать его на суд широкого общества. Я воодушевленно смотрю на то, что же приготовило будущее для Хакса, luxe, snow, flow и остального семейства snowkit.Я с интересом смотрю на то, чем является Хакс сейчас и куда он нас приведет. И собираюсь прикладывать свои силы, чтобы он двигался в правильном направлении.

© Habrahabr.ru