Неделя создателей 5

После пяти недель обучения в Makers Academy пришло время открыть для себя мир JavaScript, Jasmine (среда тестирования JS) и jQuery. Наш тренер предупредил нас, что поначалу мы можем ненавидеть JavaScript, но как только мы поймем, что мы можем сделать с этим языком, мы найдем его увлекательным. И был ли он прав!

Так каково было писать на JavaScript в первый раз? Мое первое впечатление было, что там много скобок, фигурных скобок и точек с запятой. Возникла путаница вокруг того, что на самом деле представляет собой «прототип», три знака равенства «===» и как заглушить в Jasmine. Ниже приведен снимок нашей программы Fizzbuzz, когда мы только начинали изучать JavaScript.

Мы продолжали сравнивать языки и задавались вопросом, что эквивалентно тому и этому в Ruby. Начиная с того, что мы чувствовали себя очень позитивно и взволнованно по поводу JavaScript в начале недели, он постепенно утомлял нас, поскольку количество синтаксиса сводило нас с ума. Мы все очень скучали по Ruby и начали ценить его простость.

Нас попросили выполнить стандартную задачу Fizzbuzz, затем перевести нашу первую задачу выходного дня (создание авиадиспетчера) и, наконец, создать термостат с использованием JavaScript, HTML/CSS и jQuery. И, как нам и было обещано, все действительно начало меняться.

Нас попросили создать термостат с некоторыми простыми функциями, которые включали в себя температуру по умолчанию 20 градусов, функцию увеличения/уменьшения, минимальную температуру 10 градусов, режим энергосбережения (понижение максимальной температуры) и функцию сброса. Кроме того, он также должен показывать текущее использование энергии в виде «низкого использования», «среднего использования» и «высокого использования».

С точки зрения использования JavaScript и Jasmine это была довольно простая задача. Мы прорабатывали его шаг за шагом, тестируя нашу программу через Jasmine и консоль. С точки зрения функциональности, раньше мы создавали гораздо более сложные программы, поэтому это казалось довольно простым, несмотря на то, что мы использовали язык, с которым познакомились только накануне.

Следующим шагом была реализация программы на HTML/CSS и jQuery. Несмотря на некоторое первоначальное замешательство и колебания, нам удалось связать кнопки, которые мы создали в HTML, с нашей программой JavaScript через jQuery, и здесь началось волшебство…

Мы могли нажимать на разные кнопки, и на экране все начинало меняться. Мы могли нажать «увеличить», «уменьшить», «сбросить», «PSM вкл.» и «PSM выкл.», чтобы использовать термостат и изменять температуру, цвета и отображать изображения в зависимости от температуры. Нам даже удалось внедрить API, чтобы видеть выбранную наружную температуру для всех городов мира!

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

Что я узнал и в чем улучшил:

  • JavaScript
  • Жасмин
  • jQuery
  • HTML/CSS
  • Тестирование в консоли
  • Изучение, исследование и изучение нового языка
  • Сравнение сходств и различий между языками
  • Золотое правило в JS: как только вы открыли скобку, закройте ее.
  • Изучение jQuery похоже на изучение магии

О чем я хочу узнать больше:

  • Извлечение объектов в JavaScript
  • Создание более сложных программ на JavaScript
  • Больше jQuery (обожаю!)
  • Еще Жасмин (многому еще предстоит научиться)
  • Создайте реальный веб-сайт с нуля (у нас никогда не будет времени закончить проект, прежде чем мы двинемся дальше..)

В целом, у меня была замечательная неделя изучения JavaScript, и мне это очень понравилось! Я в восторге от того, что можно сделать с этим языком, объединив его с HTML/CSS и jQuery, и мне нравится использовать эти языки сами по себе, а не встраивать их в Ruby.

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