Представьте, вы сидите дома за своим столом и работаете над своим первым Java-приложением «Hello World», когда вы думаете про себя: «Ну, а что такое приложение?» что наводит вас на мысль: «Ну, что именно можно назвать языком или даже фреймворком?» Когда вы только начинаете знакомиться с миром программирования, вся терминология и словарный запас могут сбивать с толку. Что такое библиотека? Что тогда можно считать фреймворком? Насколько они разные? Отличное визуальное представление о том, как все термины кодирования сочетаются друг с другом, — это думать об этом так, как будто вы строите дом. В доме есть разные комнаты, как разные части приложения, и другие сходства, которые помогут вам понять это сравнение.

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

Приложение

Если вы новичок в кодировании, некоторые из терминов, которые вы слышали, вероятно, включают в себя: приложение, серверная часть, внешний интерфейс, полный стек, сервер, клиент, база данных и т. д.… Что это значит? Эти термины являются ключевыми в мире разработки и заслуживают дальнейшего пояснения. К счастью для вас, многие из них относятся к одним и тем же вещам. Веб-приложение – это программа, обычно размещаемая на удаленном сервере, к которой можно получить доступ через веб-браузер. Думайте о приложении как о нашем доме, который нужно построить. Приложения могут состоять из трех основных частей, известных как база данных, сервер и клиент. Внутренняя часть веб-приложения состоит из базы данных, в которой хранится информация для использования, и сервера, который извлекает информацию из базы данных и форматирует информацию для последующего использования. Под интерфейсом веб-приложения понимается клиентская сторона приложения. Клиент берет необработанные данные с сервера и позволяет разработчику манипулировать данными и отображать данные пользователю. Термины «база данных», «сервер» и «клиент» чаще всего используются в деловом мире, несмотря на то, что в большинстве учебных курсов и вводных программ используются термины «внешняя часть» и «внутренняя часть». Приложение full-stack – это приложение, в котором используются все три функции, и оно может функционировать самостоятельно.

— Пример: стековое приложение MERN — это приложение, использующее базу данных MongoDB, платформу Express.js, клиентскую библиотеку React.js и сервер Node.js.

— Другие примеры: ЛАМПА, ЛЕМП, Джанго

Язык

Следующее слово, которое вам нужно знать, это язык. Вы, наверное, слышали о таких языках программирования, как JavaScript, Java, Python, Ruby, C# и многих других, но что такое язык? Когда вы используете язык программирования Google, ответ будет таким: язык программирования — это «формальный язык, состоящий из набора инструкций, которые производят различные виды вывода. Языки программирования используются в компьютерном программировании для реализации алгоритмов. Какое-то расплывчатое определение. Каждый язык — это определенный способ дать компьютеру инструкции по запуску программы. Языки обычно ограничиваются одной из трех категорий приложений (база данных, сервер, клиент), но не всегда, и являются широкими терминами, которые охватывают множество других жаргонных слов, о которых мы поговорим в этой статье. Думайте о языках как о теме каждой комнаты. Тема определяет, как спроектирована комната и, в конечном счете, как она построена. Все в этой конкретной комнате сосредоточено вокруг темы, и хотя вы можете вносить коррективы в расположение вещей и то, как они используются, эти предметы по-прежнему соответствуют общей теме. Это означает, что другие более мелкие классификации могут находиться внутри языка и составлять его (например, фреймворки, библиотеки и т. д.), но сам язык составляет общую категорию, объединяющую эти классификации.

— Пример: JavaScript — распространенный первый язык и один из самых распространенных в ресурсах и материалах для начинающих. Это язык высокого уровня, который может функционировать как клиентский, так и серверный язык.

— Другие примеры: Java, C#, Ruby, Python, SQL, PHP

Фреймворки

Так начинается исследование каждого языка или комнаты в доме. После выбора темы и формы комнаты следующим шагом будет составление плана постройки этой комнаты. Фреймворки имеют довольно точное название, потому что они позволяют пользователю следовать определенному «фрейму» или плану кода, чтобы позволить этой платформе автоматически создавать приложения и заменять потребность в стандартном коде, который обычно создает и развернуть приложение. Это позволяет веб-разработчикам более эффективно и быстро разрабатывать приложения за счет сокращения объема кода и облегчения чтения кода и управления им. Подумайте об этом так: чертежи не являются абсолютно необходимыми для строительства дома, но они позволяют планам выполняться более гладко и позволяют другим людям понять такие вещи, как то, как вы планируете спроектировать каждую комнату, чтобы они могли что-то изменить или внести свой вклад. . Для каждого языка доступно очень большое количество фреймворков, и они регулируют такие вещи, как библиотеки, API, вспомогательные программы и компиляторы, для создания отдельных компонентов, которые можно использовать, повторно использовать и специализировать для выполнения определенных задач. Основное различие между библиотекой и фреймворком заключается в концепции инверсии управления. Это означает, что поток кода контролируется фреймворком, и вы корректируете свой код в соответствии с настройкой фреймворка. Использование фреймворка позволяет вам сосредоточиться на содержании приложения вместо того, чтобы тратить время на его сборку и развертывание.

— Пример: Node.js функционирует как серверная среда выполнения JavaScript, которая позволяет разработчику использовать другие библиотеки через пакеты npm.

— Другие примеры: AJAX, Angular2+, Vue.js, Express.js, Django.

Библиотека

Ах, да, что такое библиотека для веб-разработки? Давайте подумаем о дизайне нашего дома. Библиотека была бы сравнима с мебелью, которую вы купили для каждой комнаты; у него есть обычное место, где он обычно находится, но его можно перетасовать и использовать по-разному, чтобы получить разные результаты или вообще иметь другое применение. По сути, библиотеки можно использовать для увеличения функциональности комнаты без необходимости собирать всю эту мебель самостоятельно. Обычное приложение обычно использует более одной библиотеки. Это сравнимо с приобретением кровати в IKEA, а затем получением комода в Walmart. Оба этих магазина будут считаться вашими библиотеками, потому что вы брали из них деньги, чтобы не создавать эту мебель самостоятельно. Давайте вернемся к той инверсии управления, о которой я говорил в предыдущем разделе. Фреймворки контролируют поток кода, как план; в то время как библиотеки — это повторно используемый фрагмент вашего кода, который можно использовать в любом месте проекта для управления потоком. Это означает, что в библиотеках поток управляется вашим кодом, и библиотека заполняет пробелы в том, что вам нужно, а не наоборот.

— Пример: React.js считается библиотекой, а не фреймворком, посколькуон связан только с отрисовкой элементов DOM и должен сочетаться с такими вещами, как react-router-dom. и другие библиотеки для формирования приложения.

— Другие примеры: jQuery, Backbone.js, PolymerJS.

Тестирование

Тестирование — это предмет, который большинству начинающих программистов покажется пугающим или немного непосильным, но не о чем беспокоиться! Тестирование — это, по сути, просто проверка того, что ваше приложение не только работает, но и работает правильно, без каких-либо проблем или ошибок. Существует множество различных видов тестирования, но наиболее распространенным является функциональное тестирование. Большинство ресурсов для тестирования представляют собой библиотеки, предоставляющие предопределенные команды для получения определенного значения и ожидания определенного результата на основе этого значения. Тесты предоставляют входные данные, а также то, каким должен быть результат функции, чтобы убедиться, что функция работает правильно. Чем больше тестов вы можете написать и пройти, тем стабильнее будет ваше приложение и с меньшей вероятностью оно сломается.

— Пример: Это пример теста моментального снимка, в котором ожидался результат «Лавлейс». Однако тесты провалились, потому что код был изменен на «Lovelace!». Это означает, что кто-то добавил дополнительную точку объяснения, которую код не ожидал и не знает, как обработать.

— Другие примеры: MochaJS, JEST, Jasmine, Karma, Puppeteer

Большое спасибо за то, что нашли время прочитать эту статью, и если вы новичок в мире программирования, я надеюсь, что она помогла вам понять некоторые основы, которые мне никогда не объясняли изначально. Если у вас есть какие-либо вопросы или вы хотите связаться с другими веб-сайтами, подпишитесь на мой Github и мой Twitter @



https://twitter.com/neelycodes

СПАСИБО!!