Справжня причина вивчити стек MEAN: Працевлаштування

Інші завантажувальні камери кодування (наприклад, Hack Reactor) та платформи онлайн-курсів (як Khan Academy) переходять на JavaScript як мову навчання.

JavaScript має сенс як перша мова, тому що його все одно потрібно буде вивчити. Без цього ви не можете багато чого зробити в Інтернеті, тому люди все частіше переходять прямо до JavaScript і пропускають Ruby, Python та PHP. JavaScript також може похвалитися найбільш активною спільнотою розробників. Але є третя причина, чому ви повинні вивчити JavaScript прямо з воріт: можливість працевлаштування.

Роботодавці не просто голодують за талант JavaScript - вони голодують за інженерів, знайомих з певними технологіями, заснованими на JavaScript. І саме ці технології складають стек MEAN - MongoDB, Express.js, Angular.js та Node.js.

Перш ніж розпочати, зауважте, що ці дані надходять із Indeed.com, найбільшого агрегатора оголошень про роботу. Ми використовуємо обсяг оголошень про роботу як проксі для обсягу завдань. Ми зосередилися лише на власних рішеннях, таких як Oracle, Microsoft та IBM.

Порівняння платформ веб-розробки Model-View-Controller

  • Node.js та Express.js - веб-сервер та гола кістка веб-розробки, що забезпечують стек MEAN. Node.js був випущений менше 5 років тому, але його вже прийняли LinkedIn, Walmart, SAP та Microsoft.
  • Rails - популярний фреймворк веб-розробки на основі Ruby, розроблений, щоб допомогти розробникам швидко створювати звичайні серверні додатки. Переважна більшість завантажувальних камер кодування все ще зосереджені на Rails. Цікавий факт: Rails винайшов датський гонщик гоночних автомобілів.
  • Django - найпопулярніший фреймворк веб-розробки. Ще один цікавий факт: Джанго було винайдено в газеті в Канзасі.
  • Laravel - На даний момент найпопулярніший фреймворк веб-розробки PHP, хоча спільнота PHP насправді ще не відстала від одного фреймворку так універсально, як спільноти Ruby та Python.

Як бачите, Node.js є безперечним переможцем з точки зору зростання робочих місць. І в абсолютному вираженні Node.js швидко наздоганяє Ruby on Rails:

Порівняння баз даних NoSQL

Наступним компонентом стека, який ми розглянемо, є база даних. Спочатку давайте порівняємо найпопулярніші бази даних NoSQL (нереляційні).

  • MongoDB - База даних сховища документів, яку використовує стек MEAN. Mongo також популярний серед програм Rails і є базою даних за замовчуванням для проекту Meteor.js.
  • Кассандра - База даних із широкими колонками, створена у Facebook, а згодом відкрита для Apache.
  • Neo4j - найпопулярніша база даних графіків.
  • Couchbase - ще одна база даних сховища документів, створена для підкреслення швидкості.

Попит роботодавців на MongoDB зростає найшвидшим серед баз даних NoSQL. В абсолютних показниках MongoDB також виграє:

Але вам, мабуть, цікаво, як це порівнюється з базами даних SQL. Давайте подивимось:

MongoDB зростає в рази швидше, ніж найпопулярніші бази даних SQL. Але якщо ми подивимось на ринок праці в абсолютному вираженні, йому ще потрібно пройти довгий шлях:

Зрозуміло, що бази даних NoSQL все ще представляють відносно невеликий відрізок загального ринку талантів для баз даних. Поширеним тлумаченням назви NoSQL є "Не тільки SQL", що означає, що бази даних NoSQL слід використовувати як комплімент, а не як замінник традиційних баз даних SQL. Це одна з основних причин, чому ми вводимо реляційні бази даних та SQL, перш ніж вводити MongoDB.

Інтерфейс JavaScript Framework

За останні три роки з’явилося кілька фреймворків Model-View-Controller JavaScript. Вони дозволяють розробникам маніпулювати елементами DOM на стороні клієнта. Це дозволяє односторінкові програми, де браузеру ніколи не потрібно переходити на нову сторінку.

  • Angular.js - "A" у стеку MEAN. Google (і, як розширення YouTube), витратив купу грошей та інженерних талантів на покращення Angular.js
  • React.js - Розроблений Facebook, з акцентом на продуктивність.
  • EmberJS - Надає серверну структуру MVC, одночасно використовуючи звичайні інструменти, такі як Handlebars.js та jQuery на передній панелі.
  • Backbone.js - оригінальний фреймворк MVC JavaScript і досі досить популярний. Він має велику спільноту та хорошу документацію, включаючи кілька курсів з кодексу.

Як бачите, Angular.js швидко росте, тоді як Ember.js та Backbone.js, здається, мають плато. React.js настільки новий, що навіть не реєструється на графіку, але я чув, що деякі компанії, такі як Khan Academy, використовують його. І в абсолютному вираженні Angular.js швидко наздоганяє Backbone.js:

Але, звичайно, ця діаграма залишає 800-фунтову горилу у світі Front End JavaScript, jQuery:

Тільки для ударів, давайте порівняємо загальний відсоток оголошень про роботу, в яких згадується “jQuery”, із відсотком оголошень про роботу, які згадують сам “JavaScript”:

Дивно, але jQuery отримує майже вдвічі менше згадувань, ніж JavaScript.

На мою думку, цьому є 3 можливі пояснення:

  1. jQuery настільки інтуїтивно зрозумілий, що менш технічні веб-дизайнери продовжують використовувати його замість того, щоб переходити на більш потужні інтерфейсні фреймворки, такі як Angular.js. Ці веб-дизайнери мають багато застарілих програм, що використовують jQuery, і наймають людей для їх обслуговування.
  2. Нетехнічні кадровики, які створюють оголошення про вакансії, вважають, що jQuery та JavaScript є синонімами, або що jQuery (випущений у 2006 році) є хип-формою JavaScript (випущений майже 20 років тому), тому замість цього вони перелічують jQuery.
  3. Багато роботодавців не вимагають важкого підйому, який забезпечують передові фреймворкові фреймворки JavaScript. Або, швидше за все, вони не розуміють, наскільки потужні ці рамки і як вони можуть створити чудовий досвід.

Якою б не була причина, повідомлення чітке. Для того, щоб максимізувати свою працевлаштування, дуже важливо вивчити jQuery, хоча ці інші фреймворки можуть робити все те, що може робити jQuery та багато іншого.

Велику частину успіху jQuery можна пояснити простотою використання. Багато в чому вивчати jQuery навіть простіше, ніж вивчати JavaScript, і багато концепцій, які ви застосовуватимете з jQuery, переносяться під час вивчення фреймворку MVC, такого як Angular. Отже, підсумовуючи:

  • Кожен з окремих компонентів MEAN Stack стає переможцем у відповідній категорії.
  • З точки зору працевлаштування, має сенс зосередитись на стеку MEAN в цілому. Якщо ваш роботодавець хоче використовувати, скажімо, Backbone.js замість Angular.js, ви вже знайомі з одним і можете легко вивчити інший.
  • MongoDB - це правильна база даних NoSQL, на якій слід зосередитись, але вона буде платна для ознайомлення з реляційними базами даних і самим SQL.
  • Вивчіть jQuery. Багато практикуйте jQuery. Помістіть це на видному місці у своєму профілі LinkedIn і відновіть.

Спочатку опубліковано на blog.freecodecamp.com 26 жовтня 2014 року.