Библиотека - это набор готовых функций, классов и объектов для решения каких-то задач.
Использование готовых решений (библиотек) обладает рядом преимуществ:
- Экономия времени. Самое большое преимущество, не надо тратить время на реализацию уже готового функционала.
- Надежность *. Большинство популярных библиотек протестированы на различных входных данных и большом количестве сценариев использования, что трудозатратно при написании своего решения. Так же предусмотрен отлов различных ошибок кода.
- Оптимизация для работы в различных браузерах. В разных браузерах и тем более на разных типах устройств (декстоп, смартфон, планшет и т.д.) элементы могут отображаться по разному и функции могут работать по разному эти нюансы предусмотрены в большинстве популярных библиотек, чтобы функционал работал корректно в различных условиях.
- Документация. К большинству библиотек есть документация, зачастую она проиллюстрирована примерами, что упрощает понимание и помогает лучше разобраться в том как работает библиотека и как её использовать.
* - конечно есть не протестированные библиотеки, поэтому стоит внимательно подходить к их выбору, зачастую для решения одинаковой задачи существует сразу несколько библиотек.
fancybox - удобная библиотека для реализации галерей, всплывающих изображений, модальных форм и т.д. На странице библиотеки привидено много примеров использования.
inputmask - полезная библиотека для создания различных масок для полей ввода. Например: номер телефона, ИНН, дата рождения, номер кредитной карты и т.д. Страница с примерами. (Можно сделать отдельную страницу с примерами использования т.к. на странице библиотеки визуальных примеров не так много)
select2 - библиотека для удобного отобржения выпадающих списков (select) есть возможность поиска элементов по названию, так же очень удобная возможность загрузки вариантов по AJAX.
bootstrap - в первую очередь css библиотека предоставляющая полный набор готовых html шаблонов для сайта: формы, меню, уведомления, разное оформление текста, большой набор иконок и много другое. Данное библиотека решает больше 90% задач по верстке, остается только поменять цвет элементов, если нужно. Для динамичности присутствует js код, который позволяет создавать всплывающие формы, прогресс бары и т.д.
DataTables - библиотека предназначена для отображения данных в табличном виде с возможностью фильтрации, сортировки, постраничной навигации, что доступно из коробки. Так же есть возможность работы в ajax режиме.
mPDF - библиотека позволяет создавать pdf файлы на php на основе html верстки.
Datepicker - библиотека позволяет добавлять календарь для выбора даты к полю формы. Доступно много настроек, есть возможность добавить обработчики на различные события календаря: открытие, закрытие, выбор даты и т.д. Можно так же менять вид календаря с помощью css стилей.
Print.js - если нужно отправить pdf файл сразу на печать, без открытия в другой вкладке, например при нажатии какой-то кнопки на сайте, данная библиотека позволяет решить эту задачу. Помимо pdf файлов можно отправлять на печать изображения, html формы и т.д.
Делитесь библиотеками, которые используете сами, в комментариях.