Прежде всего, если вы хотите узнать, что такое Coderoulette.com, проверьте этот пост или…

Попробуйте Coderoulette прямо сейчас

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

Что мы использовали для создания Coderoulette?

Coderoulette был создан с помощью Meteor. Meteor легко создать прототип, поскольку он дает быстрый способ создания идей, которые, вероятно, будут отправляется в мусор. Если вы не знакомы с Meteor, он дает вам фреймворк, основанный только на Javascript, как для внешнего, так и для внутреннего интерфейса (Node.js и Socket.io внутри).

Мы работали с Less для CSS и jQuery.

Мы также использовали WebRTC с плагином SimpleWebRTC + сервер Signalmaster для обработки подключений STUN и TURN.

Для IDE парного программирования в реальном времени мы использовали mizzao-версию ShareJS для Meteor, которая включает редактор Ace.

Mongo для БД.

И Heroku для всех серверов.

Для проверки исходного кода мы работаем с Sphere Engine.

Если вы еще не играли с Coderoulette.com, проверьте сейчас, чтобы вы понимали, о чем я говорю :)

Мое мнение о Метеоре сейчас

После работы с Meteor, о которой я узнал во время этого проекта, у меня смешанные чувства.

Я бы не рекомендовал его для больших проектов, поскольку он ограничен в нескольких аспектах и ​​имеет свои хитрости. Кроме того, функция «все должно быть асинхронно» иногда очень раздражает.

С другой стороны, было здорово быть быстрым (на создание первого эксперимента ушло 2 недели, на второй - 2 месяца). Однако возможность использовать только Javascript для всего - это прекрасно!

Тогда почему мы решили использовать Meteor?

Когда Ариэль и я говорили об этом проекте, он уже создал очень простую IDE, основанную на Meteor и ShareJS.

Тогда у меня была возможность начать создавать его на другом языке (что я делал в течение 3 дней на Ruby on Rails), но правда в том, что я думал изучить что-то новое и подготовить основу для эксперимента. уже звучало веселее и проще, что это «хорошее» долгосрочное решение.

Какие проблемы мы обнаружили при создании Coderoulette?

Поскольку это был всего лишь эксперимент, мы старались снизить затраты на минимально возможном уровне, поэтому иногда это доставляло нам головную боль в некоторых областях работы.

Например, WebRTC с подключениями STUN и TURN. Они боль. Мы думали об интеграции какого-то внешнего решения, но в конце концов я захотел сделать это сам, и, вероятно, это было то, что я тратил больше времени на исправление, иногда даже не зная, что происходит.

Работа с Sphere Engine была невероятно полезной. Это сэкономило нам много времени. Однако иногда это было непросто. Документация была несовершенной, и они внесли изменения без предварительного уведомления. Например, у них есть коды ответов, и однажды они изменили «принятый» код с 14 на 15, никому не сообщая. Так что иногда использование внешних инструментов также требует времени и терпения: D

Почему именно Heroku?

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

Почему мы не думали о долгосрочной перспективе?

Честно говоря, не совсем верно, что мы не думали о долгосрочной перспективе. Мы думали об этом (больше об Ариэле, чем о мне), но это не было нашей главной целью. Coderoulette был просто экспериментом, и мы хотели его протестировать. Почему мы должны тратить вдвое больше времени на то, от чего откажутся?

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

Я хотел бы услышать больше о людях, которые быстро реализуют небольшие идеи и забывают о впечатляющем, отличном коде ниндзя-качества и технологиях, которые никогда не будут идеальными, как бы вы ни старались :)

Если вам интересно узнать о Coderoulette, зацените сейчас.