Информатика

Тема 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