Сказанное означает, что вы должны быть знакомы как с самой платформой, так и с тем, какие инструменты разработки, шаблоны и фреймворки обычно используют разработчики при написании программ для этой платформы. Может показаться, что язык программирования определяет платформу разработки, но в большинстве случае это не так. Давайте посмотрим, например, на такой язык программирования, как C#. Зная C#, вы можете писать программы для Windows, macOS, iOS, Android, Linux и даже для встроенных систем каких-либо устройств. И вот вам мой совет: выбирайте не только язык программирования, но и платформу разработки.
Фреймворк или стек
В дополнение к изучению определенного языка программирования и платформы я настоятельно рекомендую изучить соответствующий фреймворк или, что еще лучше, полный стек разработки. Возможно, вы сейчас не поняли ничего из того, что я сказал. Что такое фреймворк? Что такое стек? Что за набор непонятных слов?
Фреймворк – это набор библиотек, которые используются для создания кода на некоторой платформе разработки или на нескольких платформах. Как правило, фреймворк упрощает решение задач, стоящих перед программистом. Вернемся к примеру с C#. Большинство разработчиков на C# используют для создания приложений фреймворк. NET Framework. Этот фреймворк состоит из множества библиотек и классов, которые позволяют C#-разработчику работать на более высоком уровне абстракции, благодаря чему программисту не приходится «изобретать велосипед» всякий раз, когда потребуется что-то написать.
К примеру,NET Framework содержит код для работы с изображениями. Написать с нуля такой код очень сложно, поэтому данный фреймворк значительно упрощает жизнь разработчикам C#, которые пишут код, манипулирующий изображениями.
Чем фреймворк отличается от стека? Стек – это набор технологий, обычно включающий в себя фреймворки. Стек используется для создания приложения целиком, а не какой-то его конкретной части. Например, есть такой стек под названием MEAN. Данная аббревиатура расшифровывается как MongoDB, Express.js, AngularJS и Node.js. MongoDB – это технология баз данных. Express.js – платформа Node.js для создания веб-приложений. AngularJS – JavaScript-фреймворк для создания пользовательских интерфейсов веб-приложений. Наконец, Node.js – среда выполнения для разработки веб-приложений на JavaScript.
Разбираться во всех этих технологиях необязательно (если вы, конечно, не MEAN-разработчик). Главное здесь – понимать, что с помощью этих технологий и фреймворков можно создавать веб-приложения целиком – от начала и до конца. Стеки сильно упрощают создание приложений, поскольку образуют собой некую единую парадигму, которой может воспользоваться любой разработчик. В частности, приложениями, созданными на одном стеке, делиться будет проще, потому что вы всегда будете знать, что никакой компонент не будет конфликтовать