Что такое - framework? Что такое Microsoft.Net Framework

09.07.17 33.4K

Если вы часто устанавливаете программы, то наверняка сталкивались с ошибками Microsoft .NET Framework . Две самых распространённых - он либо не установлен, либо установлена не та версия.

Почему так происходит? Что это такое и зачем нужен NET Framework ?

Что такое.NET Framework?

Наверное, вы знаете, что основное занятие программистов - написание кода. При этом они используют различные языки программирования, позволяющие сказать компьютеру, что он должен делать:


Но есть одна проблема - языки программирования довольно примитивны. С их помощью можно легко выполнять простые действия вроде сложения и умножения. А всё остальное требует долгой и усердной работы. Хотите вывести текст или изображения на экран? Тогда придётся написать много кода, используя самые простые элементы языка.

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

К примеру, .NET Framework берёт на себя все операции по отрисовке окон на экране. Программисту остаётся только вставить текст, продумать меню программы, задать поведение кнопок, когда на них нажимает пользователь и т.д.

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


Есть только один недостаток разработки приложений с использованием .NET Framework - их невозможно запустить, если .NET не установлен в вашей системе.

NET Framework состоит из двух частей. Первая часть включает в себя набор заранее написанного кода (официально именуемого SDK , Dev Packs или «Пакеты разработчика» ). Вторая часть включает в себя программу, которая может интерпретировать код .NET Framework в команды для операционной системы. Эта часть, которую называют «средой выполнения », позволяет запускать программы, написанные с использованием .NET Framework .

В этом отношении .NET Framework напоминает Java - для использования написанных на нём приложений необходимо скачать среду выполнения Java Runtime Environment .

Говоря кратко, зачем нужен Microsoft NET Framework : если вы простой пользователь, который не собирается заниматься программированием, вам потребуется только среда выполнения .NET Framework .

Как установить.NET Framework

На большинстве компьютеров на Windows уже установлен .NET Framework , но его версия может быть устаревшей. Например, с Windows 8 и 8.1 поставляется версия 4.5.1 , а с Windows 10 — версия 4.6 , 4.6.1 или 4.6.2 .

На момент написания статьи самая свежая версия - .NET Framework 4.7 . Именно её мы и будем устанавливать:


.NET Framework можно установить и через Центр обновления Windows . Но многие отключают обновление Windows , поэтому данный метод будет предпочтительнее.

Перед установкой - .NET Framework 4.7 можно установить на Windows 10 , Windows 8.1 и Windows 7 SP1 как на 32-битные, так и на 64-битные системы. Чтобы установка прошла без ошибок, Microsoft рекомендует иметь на жестком диске минимум 2.5 ГБ свободного пространства.

Microsoft предлагает два вида установщиков: веб-установщик и автономный установщик. Веб-установщик весит меньше 2 МБ, и скачивает все необходимые компоненты во время инсталляции. Поэтому вам потребуется стабильное соединение с интернетом.

Автономный установщик весит около 60 МБ, и не требует доступа к интернету во время инсталляции.

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

NET Framework 4.7 Веб-установщик

NET Framework 4.7 Автономный установщик


Обратите внимание, что версия 4.7 - это выполняемое обновление версий 4 , 4.5 , 4.5.1 , 4.5.2 , 4.6 , 4.6.1 и 4.6.2 . Поэтому не удаляйте предыдущие версии после установки. .NET Framework 3.5 SP1 и более старые версии устанавливаются отдельно.

По умолчанию .NET Framework инсталлирует английскую версию независимо от того, какой вы используете установщик. Для локализации нужно скачать соответствующий языковой пакет. На данный момент языковые пакеты для версии 4.7 доступны только в виде автономных установщиков.

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

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

Нет нужды переписывать что-то, что уже написано.
К примеру, если использовать только один из крупных фреймворков на рынке (скажем, Laravel) - можно не бояться совместимости. К примеру, если вы начали писать на 5.0 вы сможете обновиться до 5.1 до потерь, а при обновлении до 5.2 вам надо будет поменять всего две строчки кода в одном единственном файле. При выходе глобальных изменений в документации прикладывают инструкцию для безболезненного перехода.
На сколько я буду зависеть от выхода новых версий? Например, я хочу сейчас скачать и дальше уже делать с ним что угодно не боясь, как в предыдущем вопросе, что найдут какую-то уязвимость и снова придется его обновлять и переписывать все свои коды в сотнях файлах php.

Уязвимость не найдут. К примеру, тот же Laravel пережил уже несколько крупных релизов, и разрабатывается пятый год. Защита у него на максимальном уровне, и крупных багов секьюрити с релиза пятой версии не обнаружено. И поверьте мне - не один человек бьются в попытках найти баг в ларавеле, ибо он используется не на одном десятке сайтов. Сайты на нем исчисляются тысячами.
Можно ли будет (искюча вариант, что я скопирую сайт на локалку и год буду переписывать его с нуля на фреймворк) постепенно, не нарушая работу сайта, перенести собственные CMS на фреймворк учитывая то, что в них десятки модулей, собственные админ панели и т.д.

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

Если вы выберите крупного игрока (советую Laravel, опять же) - вам не придется задумываться о его поддержке. Это как минимум open source проект, сотни веб-девелоперов независимо работают над его усовершенствованием, и поддержкой.
И в случае чего вы так же сможете внести вклад, форкнув проект, внеся свои изменения.

Разработка программной платформы началась в 1999 г. Цель Microsoft .NET Framework – создание единой программной оболочки, которая будет использоваться как на мобильных беспроводных устройствах, так и на компьютерах. При этом процесс написания программ под различные электронные устройства не должен отличаться. Таким образом целью Microsoft является разработка решения, которое позволит запускать одни и те же приложения как на стационарных, так и на портативных компьютерах. Технология.NET позволяет запускать в Windows приложения, которые изначально могут быть для нее не предназначены.

Принцип работы.NET

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

Для реализации данной цели корпорацией было решено создать единый набор приложений и произвести объединение средств программирования. Для разработки были выпущены новые версии сред для разработки, наиболее популярной из которых является Microsoft Visual Studio, работающий с C#, F#, Visual Basic .NET и Managed C++.

На сегодняшний день последней версией.NET Framework является 4.5.1, которая была выпущена для реализации поддержки работы с операционными системами Windows 8.1 и Server 2012 R2, однако для запуска большинства программ на сегодняшний день может потребоваться установка и более ранней.NET Framework 2.0. Версия также дает возможность пользователю запускать разработанные на платформе приложения.

Установка.NET Framework

Зачастую некоторые программы требуют установки платформы для запуска того или иного приложения. Чтобы установить.NET Framework нужной версии, вы можете перейти на официальный сайт Microsoft и воспользоваться соответствующим разделом загрузки. Скачав нужный файл запустите его и дождитесь окончания установки приложения.

Стоит отметить, что в версиях Windows 8 и выше платформа.NET Framework интегрирована изначально и не нуждается в дополнительной установке. Тем не менее для инсталляции некоторых приложений для более ранних версий операционных систем может потребоваться скачать более ранние.NET Framework 1.0, 2.0 или 3.0.

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

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

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

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

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

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

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

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

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


Фреймворк, будучи "каркасом" для создания и сопровождения программного проекта, облегчает задачу разработчика. Существует множество фреймворков для создания сайтов и для различных языков программирования, обладающих как плюсами, так и минусами. Хорошо известные С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 : доступность, мощность, хороший функционал.

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