В прошлой статье мы разобрали, с чего стоит начать обучение языку программирования Python.
А в этой мы разберемся, что такое фреймворки и библотеки и для чего они нужны.
Начнем с примера:
Вам нужно построить дом. Можно взять готовый план и немного поиграться с ним, а можно сделать его самому и получить именно то что вам нужно. Разница в том, собственно что в типовом плане уже всё обмыслено: подходящее месторасположение коммуникаций, термоизоляция стенок, методы заливки фундамента, и ещё миллион вещей, которые со стороны не видимы. Вы получаете тёплый и домашний дом, но в рамках готового плана.
Например же трудится фреймворк. Вы пользуетесь готовый шаблон и наполняете его собственным кодом. Вы утрачиваете в эластичности, но несмотря на все вышесказанное программка трудится размеренно: всё ведущее фреймворк берёт на себя. Под капотом фреймворка миллион аспектов: к примеру, работа с файловой системой и базами данных, обработка промахов, оборона паролем.
Без фреймворка для вас надо станет обо всём мыслить автономно. Это даёт более свободы, но и более ответственности. В случае если неровно продана авторизация в основание данных, сквозь данную кривизну код сумеют взломать. В случае если не написали обработку промахов, программка имеет возможность не трудиться. На языке постройки это эквивалент жилища без канализации или же когда в стенках не предусмотрели дырки под розетки.
Вот примеры фреймврока:
Django - чрезвычайно популярный и полнофункциональный серверный фреймворк написанный на питоне.
Vue.js - прогресивный фреймворк для создания пользовательских интерфейсов.
Ruby on Rails - многоуровневый фрейморк для построения веб-приложений использующих NoSQL базы данных. Написан на языке Ruby. Очень сильно ускоряет разработку приложений.
Из этого можно сделать вывод, что фреймворки дают стабильность и удобство разработки, но ограничивает программиста своей архитектурой (также как и в примере с домом).
Если продолжать аналогию с домом, то после постройки дома нужно сделать ремонт и провести электрику. Это возможно устроить с поддержкой молотка, отвёртки, ручной дрели и зубила, а возможно арестовать особые инструменты — болгарку, перфоратор и шуруповёрт. Специнструменты — это и есть библиотеки. С ними задачка принимается решение скорее, но дабы ими воспользоваться, надо умение. В случае если задачка обычная и с ней вправду возможно преодолеть лишь только с молотком и отвёрткой — очень хорошо, за это время нам не необходимы библиотеки и довольно интегрированных средств языка программирования.
В случае если расширить образчик, то с поддержкой специнструмента возможно в том числе и выстроить дом: бетономешалка взамен ведра с лопатой, кран взамен ручной разгрузки и например дальше. Выходит, собственно что составить программку возможно с поддержкой фреймворка, а возможно с поддержкой библиотеки. Книгохранилище также наблюдает за тем, дабы вы создали как возможно меньше промахов, но надо отчетливо аристократия все команды и критерии. В результате вы всецело контролируете процесс, но упрощаете для себя жизнь, применяя уже готовые библиотеки.
Выходит, собственно что фреймворк от библиотеки выделяется тем, собственно что фреймворк сам задаёт для вас критерии игры, которые надо блюсти, а библиотеками вы командуете сами и пользуетесь их способности в необходимый момент.
Вот несколько примеров библиотек:
TensorFlow - для погружения в мир искусственного обчения и анализа данных.
Almanac Converter — для простой работы с датами и временем.
WebKit — популярнейшая библиотека для работы с веб-страницами.
Scribe Java — простая библиотека для авторизации пользователей.
Если подводить итоги, то вы сами решаете, когда вызвать ту или иную функцию из библиотеки и как ей воспользоваться. Обычно используют внутри фремворка другие библиотеки. Например, если вам нужен адаптивный сайт и удобная работа с формами — используйте Bootstrap для адаптива как фреймворк и подключите к нему библиотеку jQuery.