Что значит фреймворк. Что такое.net framework от Microsoft и почему он необходим? Библиотека классов Net Framework

Фреймворк, будучи "каркасом" для создания и сопровождения программного проекта, облегчает задачу разработчика. Существует множество фреймворков для создания сайтов и для различных языков программирования, обладающих как плюсами, так и минусами. Хорошо известные СSS-фреймворки: Foundation и Bootstrap. Из современных PHP-фреймворков можно выделить Yii, Symfony и Laravel. Они дружелюбны не только к профессионалам, но и новичкам. Популярность и широкий функционал позволяет без особого труда найти полезную информацию по этим фреймворкам.

В наше время IT-технологии не стоят на месте, каждую минуту создаются новые сайты, приложения и разного рода программные продукты. Тысячи строк кода помогают компьютеру понять человека.

Зачастую, разработчик применяет одни и те же алгоритмы в разных проектах. И было бы не целесообразно тратить уйму времени на то, чтобы раз за разом писать одно и то же. Что же может облегчить эту задачу?

Существует множество определений термина «фреймворк». Рассмотрим некоторые из них и попытаемся найти то, что их объединяет.

Framework – это программная платформа, определяющая структуру программной системы, программное обеспечение, которое облегчает поставленную перед разработчиком задачу и объединяет разные компоненты большого программного проекта. Это такая структура, включающая в себя библиотеки кода, различное программное обеспечение, которые облегчают жизнь разработчика и способствуют объединению разных составляющих большого программного проекта. Фреймворк содержит базовые программные модули. Все специфичные компоненты реализуются разработчиком на их основе.

В переводе с английского, framework означает «каркас». Действительно, если сравнить создание программного проекта со строительством дома, то фреймворк – каркас и разработчику остается лишь навесить окна и стены.

Фреймворк предлагает разработчику уже встроенные классы:

  • Для работы с базой данных
  • Для создания функциональных форм
  • Для описания логики и др.

Все это может использоваться в большинстве ваших проектов, при этом использование и подключение будет простым благодаря таким «каркасам».

Используя фреймворки не нужно писать с нуля десятки, а то и сотни тысяч строк, тем самым достигается большая производительность. Становится проще сопровождать проект, вносить изменения и исправлять ошибки, «склеивать» компоненты в более сложные системы. Фреймворк помогает организовать структурированную архитектуру проекта, т.е. все файлы будут находиться в порядке и на нужных местах.

Плюсы фреймворков

  • Разработка на фреймворке позволяет добиться простоты сопровождаемости проекта.
  • Проекты легко масштабируются и модернизируются.
  • Решения на фреймворках работают гораздо быстрее.
  • Решения на фреймворках превосходят самописные системы по безопасности.

Минусы фреймворков

  • Многие функции реализовываются индивидуально, т.к. фреймворки содержат только базовые компоненты бизнес-логики.
  • Требуется понимание бизнес-процессов.

Web-разработка и фреймворки

Одна из самых популярных областей применения фреймворков – создание сайтов, web-приложений и сервисов и это естественно. Главным преимуществом фреймворка является тот факт, что зачастую веб-сайты и приложения используют стандартизированную структуру организации компонентов. И создание такой структуры становится проще, если использовать фреймворки. Практически у любого сайта есть форма для авторизации. И каждый раз «изобретать велосипед» было бы не разумным решением.

В интернете мы можем найти огромное количество фреймворков для создания сайтов и для разных языков программирования. Одни предназначены для упрощения в разработке интерфейсов, другие помогают в написании логики программного проекта.

В пример хотелось бы привести наиболее популярные фреймворки, с которыми сможет разобраться как профессиональный разработчик, так и новичок. Практически невозможно не найти какую-либо информацию по этим фреймворкам и это их огромное преимуществом.

Одним из самых знаменитых HTML/CSS/JS-фреймворков, помогающих в разработке интерфейса сайта является Foundation , который состоит из CSS файлов и нескольких плагинов JQuery (JS-фреймворк).

Главным его конкурент - Bootstrap , на котором так же написано огромное количество проектов.

Стоит отметить основные плюсы данных фреймворков:

  • Удобство
  • Простота для новичков
  • Популярность, а значит развитое сообщество
  • Функционал

Другие фреймворки облегчают написание логики сайта и web-приложения или сервиса. Например, одними из самых популярных PHP-фреймворков являются:

  • Yii : прост в освоении и использовании, высокая производительность относительно других php-фреймворков и пр. возможности.
  • Symfony : мощная функциональность, развитое сообщество, большое преимущества перед другими php-фреймворками в разработке сложных проектов.
  • Laravel : доступность, мощность, хороший функционал.

В заключение, стоит отметить, что каждый из описанных фреймворков имеет как сильные, так и слабые стороны. Все они обладают большими возможностями, которые реализованы по-своему. У каждого разработчика свои предпочтения, поэтому выбор будет субъективен. Прежде чем решить, какой же из них лучше, разработчику стоит самому попробовать каждый из этих фреймворков.

У многих пользователей возникают вопросы, связанные с программой.NET Framework. Дело в том, что эта программа занимает некоторое ощутимое пространство на диске, но вроде как никто ею не пользуется. К тому же часто на компьютере можно обнаружить сразу несколько версий данной программы и невольно возникает вопрос — для чего эта программа нужна и стоит ли ее удалить?

Давайте разберемся с.NET Framework и ответим на эти вопросы.

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

Подобных программ достаточно много и одна из них — Microsoft .NET Framework.

По сути Microsoft .NET Framework — это некоторая технология, которая используется огромным количеством пользовательских программ и приложений. Очень часто бывает так, что при установке какой-либо программы появляется сообщение о необходимости иметь на компьютере.NET Framework определенной версии и предлагается ее установить.

Версий.NET Framework имеет множество — от 1.0 до 4.5 (в настоящее время) и скорее всего новые версии будут периодически появляться. Ситуацию еще усугубляет то, что разные пользовательские программы могут для своей работы нуждаться в разных версиях.NET Framework, поэтому придется иметь на компьютере несколько установленных версий. К сожалению, тут не действует правило, что все последующие версии включают в себя компоненты предыдущих, поэтому установив самую последнюю версию.NET Framework не стоит удалять более ранние, так как подобное действие может привести к неработоспособности других программ. Поэтому вывод можно сделать следующий — все версии Microsoft .NET Framework, которые установлены на вашем компьютере нужны для работы других программ и удалять их не следует.

Ну и в заключении хочу сказать, что если вы не очень хорошо разбираетесь в установленных на компьютере программах, но решили почистить компьютер от программ, которыми не пользуетесь, то не трогайте программы, в названии которых фигурирует слово «Microsoft», например, как в нашем случае — Microsoft .NET Framework.

Как правило (хоть и не всегда), подобные программы и приложения необходимы для работы операционной системы или являются связующим звеном между операционной системой и другими установленными на компьютере программами. Ну а если все же сомневаетесь, то введите название программы в поисковое поле Google или Яндекс и выясните для чего эта программа предназначена и можно ли ее безболезненно удалить с компьютера.

15 июня 2007 в 01:08

Framework"и только для разработчиков?…

  • Разработка веб-сайтов
  • Перевод

Сегодня слово «framework» стало обыденным в web dev"е. Как только jQuery и Prototype, Rails и Django получили широкое распространение, кажется, что теперь каждый использует какой-нибудь framework для создания своего сайта.
Но что же такое framework? Они полезны программистам, или даже веб дизайнеры могут воспользоваться их преимуществами?..

Что такое “framework”?

Итак, давайте договоримся - хотя бы на протяжении этой статьи - считать, что “framework” - это набор инструментов, библиотек, хорошего кода, который поможет превратить рутинные задачи в модули, которые можно использовать неоднократно. Задача framework"а - позволить дизайнеру или разработчику сфокусироваться на задачах, являющимися уникальными в рамках данного проекта. Иначе говоря, не изобретать колесо раз за разом. Вобщем, это подход, выбранный вышеуказанными web и JavaScript framework"ами.

Framework для дизайнеров

Возможно, и вы сможете извлечь выгоду от аналогичной абстракции CSS кода в течение дизайна вашего сайта. Те, кто по достоинству смогут оценить данных подход - это дизайнеры, работающие над несколькими подобными друг другу сайтами. К тому же, дизайнеры, работающие в команде, могут работать, используя один и тот же framework. Например, я работаю в газете, и все наши 20 с небольшим сайта имеют много общего. Из-за того, что это, в основном, новостные сайты, они по определению больше схоже, чем различны. Но даже дизайнер-одиночка, который работает над совершенно разными проектами, может найти элементы, которые можно внести в его основной framework.

В Lawrence Journal-World, где я работаю, мы недавно создали CSS framework и обнаружили, что он значительно увеличил нашу производительность. Конечно, для его создания потребовалось потратить несколько дней, но как только он был готов, скорость, с которой мы могли создавать качественные страницы, резко возросла. Более того, с тех пор, как мы начали использовать наш framework, каждый дизайнер мог что-то исправить в чужой работе, и им уже не требовалось 20 минут, что понять, почему что-то написано именно так. Они просто погружались в работу.

Что именно можно абстрагировать?

Как только вы начнете создавать свой CSS framework, вы должны найти те вещи, что вы используете раз за разом в каждом проекте. Вся суть в том, чтобы собрать все это в одно место, следуя методу «Не повторяй себя». Это делает поддержку значительно легче, а также вы сможете немного сэкономить на трафике.
Несколько вещей, которые я принимаю во внимание в каждом своем проекте, это:
  • Массовый сброс стандартных браузерных стилей. К примеру, установка margin и padding в 0 у всех элементов, отключение border’ов у frameset’ов и изображений, и т.д.
  • Создание примерного типа оформления: margin’ы у блочных элементов, таких, как параграфы, заголовки, списки, и т.д.
  • Создание простых стилей для форм.
  • Создание нескольких CSS-классов, которые я постоянно использую, к примеру, .hide (где я устанавливаю display:none) и.mute (где я устанавливаю меньший размер шрифта и, иногда, более светлый цвет).
Есть также несколько других интересных возможностей. Многие дизайнеры зачастую используют одинаковую разметку и стили для создания страницы. Почему бы не перенести это в CSS-файл и составить его так, чтобы его было удобно использовать на нескольких сайтах одновременно. Yahoo сделала нечто подобное в Yahoo User Interface grids component. Когда мы создавали наш framework для Journal-World, мы сначала смотрели на реализацию этого компонента у YUI. Позже мы решили, что это не то, что нам нужно, но это послужило хорошим примером для нас и вдохновило на создание нашей собственной реализации. Мы остановились на 16-и блочном дизайне, который является настолько гибким, что мы смоги его использовать на каждых наших сайтах, даже учитывая то, что каждый наш сайт внешне немного отличается от другого.

К тому же, многие сайты используют одни и те же виджеты, такие как drop-down меню, закладки в навигации, кнопки, и т.д. Эти вещи хорошо подходят для абстракции. Помимо этого, вы можете выработать некоторые свои идиомы, как скажем, список фотографий, показывающийся в виде thumbnail’ов. Вы можете стандартизировать CSS класс “thumbnail-list”, и в следующий раз вам всего лишь потребуется вставить этот класс, чтобы получить работающий вариант.

Это действительно принесет мне пользу?

Имея такой framework, вы сможете быстро окунуться в создание новой страницы. Вы создаете новый (X)HMTL документ, подключаете framework, и вам уже не потребуется времени, чтобы избавиться от ненужных отступов, у вас уже будет нужная вам типографика, чистые формы, работающие виджеты и много другое!
Вероятно, что вам захочется как-то изменить внешний вид конретного сайта. Чтобы это осуществить, все что вам нужно, это добавить или изменить уже существующий стиль. К примеру, если ваш framework устанвливает стандартную панель с навигацией для каждого «ul» с классом “tabs”, который имеет серый фон и черные границы. Чтобы это изменить, вам всего лишь потребуется добавить (или изменить существующий) стиль. Например:
ul.tabs li { border: none; background-image: url("/images/tabs/site-specific-tab-look.jpg"); }

Как должен быть спроектирован CSS framework?

Существует несколько возможных путей для создания framework’a, но самый общий и, несомненно, самый удобный, это абстракция вашего главного CSS-файла в несколько отдельных файлов, каждый из которых будет играть свою роль. К примеру, вы можете создать страницу стилей, которая бы управлялась с типографикой, а другая со сбросом стандартных стилей. Красота данного подхода заключается в возможности подключения именно тех стилей, что вам нужны. Вы можете остановиться на 6-7 разных страниц стилей в вашем framework’е, но конкретный проект может не нуждаться в одной или двух из них, а значит, что их совсем не обязательно подключать. Тот framework, что мы создали у себя, состоит из 5 стилей:
  • reset.css-отвечает за сброс стандартных стилей.
  • type.css-отвечает за типографику.
  • grid.css-отвечает за компоновку.
  • widgets.css-отвечает за виждеты: tab’ы, drop-down меню и кнопки «читать далее».
  • base.css-подключает все остальные страницы стилей, так что мы можем обращаться только к base.css из нашего (X)HTML документа, чтобы использовать весь framework.
Затем мы сохранили весь framework в отдельном месте и уже вызываем его с сайтов именно оттуда. Конечно, у нас есть несколько специфичных страниц стилей для каждого сайта, где мы переписываем или добавляем нужные стили.

Заключение

На практике, мы, веб дизайнеры, так же как и наши коллеги из мира программирования, имеем привычку часто повторятся. Мы каждый раз отключаем стандартные стили, пишем занового стили для tab’ов, и это повторяется от проекта к проекту. Потратьте немного времени на написание своего framework’а, абстрагируйте там то, что вы можете использовать несколько раз. Это поможет вам быстро начать создавать новую страницу, или поддерживать уже существующую. Позаботьтесь об этом, ведь это не требует особых знаний и не повредит вашим проектам, а главное, сэкономит время на создания дизайна следующего.

У многих людей, не очень хорошо знакомых с темой возникает естественный вопрос, что же такой.Net Framework. В данной статье мы постараемся раскрыть тему максимально простыми словами.

Microsoft .Net Framework является так называемой программной платформой. В общих чертах можно провести аналогию с видеофайлами, которые не будут воспроизводиться если в системе не установлен нужный кодек. В данном случае видеофайл - это программа, написанная с использованием технологии.Net, а кодек - это сама платформа Microsoft .Net Framework. Причем для работы приложения, написанного на конкретной версии фреймворка, требуется установка именно этой версии.

Сделано это для того, чтобы разработчик мог максимально абстрагироваться от системного окружения на компьютере пользователя. Его не должно волновать, какая операционная система установлена, какая разрядность у процессора - 32-х или 64-битная, какая у него архитектура и т.д. Для запуска программы достаточно чтобы под данную систему существовала и была установлена реализация.Net Framework. Для операционных систем Windows разработкой платформы занимается её создатель, компания Microsoft. Существуют также независимые реализации, прежде всего это Mono и Portable.NET, позволяющие запускать программы.Net на других операционных системах, например на Linux.

Архитектура.Net Framework

Платформа состоит из двух частей. Основой является исполняющая среда Common Language Runtime (CLR), которая может выполнять как обычные программы, так и серверные приложения. Вторая, не менее важная часть, это библиотека классов Framework Class Library (FCL), содержащая в себе множество компонентов для работы с базами данных, сетью, вводом/выводом, файлами, пользовательским интерфейсом и т.д. Это позволяет разработчику не заниматься низкоуровневым программированием, а использовать уже готовые классы.

Важные части библиотеки классов

Windows Forms - отвечает за разработку графического интерфейса. Фактически является обёрткой над Win32 API.

ADO.NET - предоставляет доступ данным. В основном используется для работы с базами данных.

ASP.NET - технология разработки веб-сайтов, веб-приложений и веб-сервисов.

Language Integrated Query (LINQ) - реализация языка запросов, напоминающего по синтаксису SQL в программах на.Net.

Windows Presentation Foundation (WPF) - система создания графических интерфейсов, использующая язык разметки XAML. В отличие от Windows Forms использует графическую технологию DirectX, что обеспечивает более быструю работу за счет аппаратного ускорения графики.

Windows Communication Foundation (WCF) - система обмена данными между приложениями.Net. Используется для создания распределённых приложений.

Языки программирования.Net

Одной из основных идей, заложенной в.Net, является совместимость различных частей приложения, которые могут быть разработаны на разных языках. Например программа, написанная на C# может обратиться к методу из библиотеки, написанной на Visual Basic .NET, или класс на Managed C++ может быть унаследован от класса на Delphi .Net.

Языки, включённые в Visual Studio: C#, J# (последний раз в Visual Studio 2005), Visual Basic .NET, JScript .NET, C++/CLI, F# (Visual Studio 2010).

Также существуют независимые проекты, позволяющие разрабатывать программы под.Net Framework на других языках.

Надеемся что в данном материале мы ответили на вопрос, что же такое Microsoft .Net Framework, и для чего он нужен.

На самом деле все намного проще, чем могло многим показаться, но для порядку я начну по порядку…. Фреймворк это программная платформа облегчающая разработку и объединяющая разные компоненты большого программного проекта. Ну а если более понятным языком, это набор шаблонов, инструментов, которые в разы повышают скорость разработки за счет заранее подготовленного и проверенного кода. Фреймворков огромное количество, но как всегда есть определенные лидеры, так же вы сами можете написать свой фреймворк. Как вы уже догадались они бывают разные не только в плане того кто их написал, а конкретно в плане языка, например существуют фреймворки по языкам html/css и отдельно фреймворки на php и на многих других языках.

Давайте разберем на примере их пременения, предположим вы решили сделать сайт, первым делом вы начинаете делать верстку сайта, вы можете прописать модульную сетку сами вручную, а можете взять уже готовую под свой проект из фреймворка, это значительно сократит ваше время ведь, по сути, каждый раз делая новый сайт, вы делаете одну и ту же работу, ну а если вы занимаетесь этим постоянно, то 99 из 100 что у вас есть уже заготовленные вами же шаблоны или вы уже используете фреймворк. Я думаю тут наглядно раскрыта суть, то же самое если вы пишите движок сайта и компоненты, которые вы постоянно используете вы можете взять из фреймворка на php.

В чем же основные достоинства?

Их много и я опишу лишь основные. В первую очередь это скорость выполнения проекта, она в разы вырастает, когда вы пользуетесь уже готовым решением. Стандартизация это очень важный момент, все качественные фремворки выполнены по всем современным стандартам и соответственно валидность кода, в случае с версткой кроссбраузерность, и т.д., это все заложено и вы на выходе получаете качественный профессиональный и проверенный код, которому можно доверять, это очень важно особенно в фрейворках на сложных языках программирования, за счет этого создается структура благодаря которой любой программист сможет быстро разобраться в чужом коде не тратя кучу времени впустую, для примера на языке php программирования это паттерн , и все качественные фреймворки его придерживаются.

Несмотря на многообразие и распространенность в каждой области есть свои безусловные лидеры, и они не зря заслуживают свое внимание, если конкретно разговаривать о создании сайтов, то я отдал свой приоритет фреймворкам Bootstrap и Yii2, первый для front-end разработки на html, CSS, JS, а второй php фреймворк, я не утверждаю что они лучшие, но по моему скромному мнению они именно то, что надо.

Кому нужны фреймворки?

В первую очередь опытным веб-мастерам, которые сделали уже не один сайт, поскольку они уже знают код наизусть, и лишний раз тренироваться не имеет ни какого смысла, лишь пустая трата времени. Новичкам в программировании я лично не рекомендую сразу же кидаться на фреймворки, поскольку не имея достаточного опыта вы может упустить много важных моментов которые в последствии могут создать вам большие проблемы, в общем, тренируйтесь в написании кода как можно больше, ну а потом фреймворк вам в руки и удачи в создании сайта.

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

Дата публикации:2018-03-28