Компетенции Meteor.js

Время от времени последние 3 года я учился программировать. Звучит знакомо?

Я начал с HTML и CSS, затем перешел в Team Treehouse, где научился создавать собственные сайты Wordpress. Это привело к тому, что один из моих первых клиентов по веб-разработке заплатил мне более 2000 долларов за создание для них индивидуального сайта. Это был очень интересный опыт, которым я, возможно, однажды поделюсь.

До Wordpress и php я немного работал с Ruby on Rails. Местная группа встреч проводила мероприятия под названием Ruby Weekend, и я присутствую на втором мероприятии. Выходные прошли для меня отлично. Я отлично последовал за инструкторами, но когда дело дошло до использования того, чему я научился, для реализации в моем собственном проекте, у меня не было реального понятия, что делать в первую очередь.

«Да, я кодирую, смайлики: точка с запятой, Shift-D».

Благодаря техническим мероприятиям, которые я устраиваю, у меня есть большой доступ для разработчиков всех уровней. В промежутках между предоставлением мне лучших ресурсов для обучения программированию на выбранном ими языке все мои друзья-разработчики в значительной степени давали мне один и тот же самый лучший и худший совет: «продолжай, ты поймешь. Однажды все обретет смысл. Мне нравятся мои взгляды, но эта чушь не помогла мне сейчас выбросить все эти идеи из головы и превратить их в прототип.

Вся эта непоследовательность в обучении и советы на расстоянии вытянутой руки привели к тому, что я почти не продвинулся в моем пути развития, за исключением двух случаев:

  • У меня был крайний срок, то есть люди зависели от меня; или
  • Я учил кого-то тому, что знал.

Все еще настроенный, я продолжал участвовать в различных технических встречах, когда однажды на встрече по Rails один из организаторов начал говорить о записи в блоге Брука Риджио под названием Вот почему обучение Rails - это сложно. На нем была изображена интеллект-карта:

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

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

Не помню, как я впервые услышал о Meteor.js, но полагаю, это было на одном из Rails Meetups. Я очень хорошо помню, как однажды я увидел Meteor и то, как можно было использовать JavaScript повсюду, подумав: «Ну, если мне нужно изучить JavaScript, Ruby и Rails, почему бы просто не изучить JavaScript и не получить возможность освоить один язык?» Meteor.js упростил мне понимание этого процесса и помог мне добиться успеха.

Основные технологии и библиотеки для запуска и запуска веб-приложения Meteor:

Это рабочий список компетенций, которые я изучаю, которые необходимы для создания проектов с использованием Meteor, лучшей среды, которую я использовал при обучении разработке и созданию прототипов приложений. Не позволяйте этой карте ошеломить вас. Фреймворк убирает все абстракции из процесса разработки, поэтому вы можете легко создавать. Вам не нужно тратить время на то, чтобы убедиться, что приложение (JavaScript + Meteor) взаимодействует с базой данных (MongoDB) и отображается в браузере (в Интернете). Он делает всю эту тяжелую работу за вас, предоставляя такие методы и функции, как:

new Mongo.Collection( );

для создания приложения для подключения к базе данных.

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

В ближайшие недели я попытаюсь разделить эти компетенции в контексте создания приложений для Интернета. У меня также есть шпаргалка, над которой я долго откладывал работу, которая показывает фрагменты кода и то, как они работают вместе для создания приложений в Meteor. Если будет интерес, выложу 1 февраля.

Если у вас есть опыт и вы хотите поделиться своим мнением по теме, укажите это в комментариях ниже. ; D