Информатика
Тема 3: Основы программированияУрок 6: Библиотеки классов и фреймворки
- Видео
- Тренажер
- Теория
Современное программирование гораздо больше похоже на сборку конструктора лего, чем на написание каждый раз кода с нуля. Выражение “изобрести свой велосипед” среди программистов это синоним того, что не нужно повторять то, что уже много раз делалось другими.
Коллеги-программисты уже придумали множество готового кода, создали ООП-классы для решения каких угодно задач, и упаковали их в библиотеки.
Библиотека — это собранные в одном месте классы и код, решающие какую-то прикладную задачу.
Каждая библиотека предоставляет возможности для решения каких-то конкретных задач. Например:
- выполнения математических операций;
- работы с графикой;
- работы с файлами;
- работы с сетью;
- шифрования.
Когда вам нужно использовать готовый код, есть два пути:
- скопировать код с хранилища готового кода, к примеру, GitHub;
- установить библиотеку с помощью специального менеджера пакетов.
Пакетные менеджеры упрощают и автоматизируют использование библиотек, то есть пакетов.
В пакете содержится:
- сама программа, которую нужно установить;
- файлы с настройкой — куда что копировать;
- информация о том, какие ещё пакеты или библиотеки нужны для установки;
- команды и другие действия, которые нужно будет выполнить во время установки;
- сведения о версии программы.
В обычной программе-установщике всё это тоже есть, но установщик может сам выполнить все необходимые команды и установить программу, а пакет — нет. Для установки и управления пакетами как раз и нужен менеджер пакетов.
Обычно к библиотеке есть документация с инструкциями к использованию. Конечно, она почти всегда на английском. Зачастую исходный код библиотеки открыт, поэтому её можно модифицировать под себя.
В каком-то смысле магазины приложений типа App Store и RuStore — это тоже менеджеры пакетов:
- программы хранятся централизованно на каких-то серверах и представлены в каталоге;
- установкой и обновлением приложений занимается сам магазин приложений;
- если приложению что-то нужно, магазин сам проверит наличие этого и установит при необходимости.
Другой инструмент для ускорения и упрощения разработки — фреймворк. Фреймворк (от англ. framework — «остов, каркас, структура») — заготовка, шаблон, на основе которого можно написать собственный код. Это тоже избавляет от необходимости писать код с нуля.
Фреймворк от библиотеки отличается тем, что фреймворк сам задаёт вам правила игры, которые нужно соблюдать, а библиотеками вы командуете сами и используете их возможности в нужный момент.
К примеру, чтобы найти библиотеку с открытым исходным кодом для работы с Excel в C#, нужно вбить в поисковой строке Google “fast open source excel library for c#”. Но для того, чтобы воспользоваться библиотекой, нужно разобраться в теме устройства файлов Excel:
- почитать про разницу подходов к работе с форматом старым .xls и более новым .xlsx;
- разобраться, как устроен .xlsx и как он связан с технологией XML.
Важна не только библиотека, но и умение правильно использовать её для своей задачи.
Дополнительные материалы:
Описание и примеры исходного кода библиотеки на языке C: https://younglinux.info/c/library