Что такое фреймворки в программировании. Что такой фреймворк на php человеческим языком? Кому нужны фреймворки

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

Что такое веб-фреймворк

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

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

Типы веб-фреймворков

У фреймворков есть две основные функции: работа на серверной стороне (бэкенд) и работа на клиентской стороне (фронтенд).

Фронтенд-фреймворки связаны с внешней частью приложения. Простыми словами, они отвечают за внешний вид приложения. Бэкенд отвечает за внутренне устройство приложения. Рассмотрим оба типа поподробнее.

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

  • Django - Python;
  • Zend - PHP;
  • Express.js - JavaScript;
  • Ruby on Rails - Ruby.

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

  • Backbone+Marionette;
  • Angular;
  • Ember.js;
  • Vue.js.

Все эти фреймворки используют JavaScript.

Многофункциональные фреймворки . Meteor известен как фулл-стек веб-фреймворк. Это значит, что он удовлетворяет почти все потребности как со стороны клиента, так и со стороны сервера, что делает Meteor чрезвычайно популярным. Вам не нужно тратить время на то, чтобы наладить взаимодействие между двумя фреймворками через REST API - вы можете просто выбрать Meteor и ускорить процесс разработки. Но это не главная особенность этого фреймворка. Обе стороны - серверная и клиентская - работают на одном языке, поэтому вы можете создавать и использовать для них один и тот же код. Следующая особенность - «режим реального времени» - когда вы что-то меняете в одном интерфейсе, изменения происходят и в остальных. В качестве примера можно взять документ или таблицу с общим доступом. Когда вы добавляете комментарии или как-то изменяете содержимое, другие пользователи тоже это видят.

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

Более легковесные варианты специализируются на решении конкретных задач - такие фреймворки называются микрофреймворками. Они не предоставляют «из коробки» всё, что нужно, однако иногда лучше разложить функциональность на несколько подоходов (фреймворки, микрофреймворки, библиотеки). Функциональность микрофреймворков можно расширять с помощью сторонних приложений и создавать небольшие проекты на их основе или совместить микрофреймворк с основным «большим» фреймворком.

Например, если ваше приложение основано на Django и вам нужны веб-сокеты, то вы можете воспользоваться микрофреймворком aiohttp.

Другой пример: если ваше приложение не очень большое и вам нужна только простая маршрутизация URL и шаблоны с несложным контекстом, вы можете использовать Flask с Jinja2 (или другим шаблонизатором) вместо Django.

Особенности и архитектура

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

Архитектура

Архитектура почти всех фреймворков основана на декомпозиции нескольких отдельных слоёв (приложения, модули и т.д.), что означает, что вы можете расширять функциональность исходя из своих потребностей и использовать изменённую версию вместе с кодом фреймворка или использовать сторонние приложения. Такая гибкость является ещё одним ключевым преимуществом фреймворков. Существует множество open-source сообществ и коммерческих организаций, которые создают приложения или расширения для популярных фреймворков, например, Django REST Framework, ng-bootstrap и т.д.

MVC - Модель, Представление и Контроллер (Model-View-Controller) - три составляющих каждого веб-фреймворка.

Модель содержит все данные и уровни бизнес-логики, её правила и функции.

Представление отвечает за визуальное отображение данных, например, диаграммы, графики и т.д.

Контроллер просто трансформирует данные для команд предыдущих двух составляющих.

Они неотделимы друг от друга, поэтому важно как следует во всём разобраться, чтобы избежать ошибок во время работы приложения.

Особенности

Теперь давайте посмотрим на некоторые общие особенности, которые делают фреймворки многофункциональными и удобными на практике.

Веб-кэширование

Кэширование просто помогает хранить разные документы и позволяет избежать надоедливой перегрузки сервера. Пользователи могут использовать его в разных системах при определённых условиях. Также оно работает на серверной стороне. Например, вы могли заметить кэшированные веб-страницы на странице результатов поисковой выдачи Google.

Скаффолдинг

Это ещё одна технология , поддерживаемая некоторыми MVC-фреймворками, о которой следует знать. Фреймворк может автоматически сгенерировать типичные части приложения или даже всю струкутру проекта (если речь идёт о инициализации). Это позволяет существенно увеличить скорость разработки и стандартизирует кодовую базу.

Система веб-шаблонов

Система веб-шаблонов представляет собой набор разных методологий и программного обеспечения, реализованных для создания и развёртывания веб-страниц. Для обработки веб-шаблонов используются шаблонизаторы. Они являются инструментом фреймворка, отвечающим за веб-публикацию.

Сопоставление URL

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

Приложения

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

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

Руководства

Как мы уже убедились, выбор и использование веб-фреймворка может стать тем ещё испытанием. Однако сам процесс не такой уж и сложный, как могло показаться. Есть достаточное количество документов, библиотек и руководств, призванных помочь изучить фреймворк и ответить на все возникающие вопросы. Существуют сайты, которые предоставляют быстрое введение в любой фреймворк.

Рано или поздно продвинутые пользователи начинают интересоваться тем, что такое «Фреймворк». Сразу следует отметить, что в этой платформе нет ничего очень сложного и страшного. Начиная с версии Windows Vista, этот элемент является частью целой системы. Для XP еще придется устанавливать компонент, если его нет. Однако не стоит лениться загружать элемент или, напротив, удалять его. Он на самом деле нужен.

Благодаря существованию подобной технологии появляется все больше приложений. Даже перед загрузкой необходимых драйверов для видеокарты ATI осуществляется установка Net Framework. Если среда отсутствует, во время запуска приложений будут появляться сообщения об ошибке. Наличие компонента представляет собой важное условие, как и WinAPI, без которой система не является таковой. В этой статье речь пойдет о том, что такое «Фреймворк».

Разбираемся в общем понятии

Что такое «Фреймворк»? Эта платформа является интегрированным компонентом системы, поддерживающим создание и одновременное выполнение новых приложений и XML-веб-служб.

Первую версию выпустили в 2002 году. Платформа разрабатывалась с учетом нескольких целей.

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

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

Третья: гарантирование среды выполнения кодов без проблем с производительностью при реализации сценариев или интерпретируемых шифров.

Другие направления разработки платформы

Четвертая цель: предоставление единых и взаимосвязанных принципов работы программистов для различных видов приложений Windows и онлайн-расширений.

Пятая: построение взаимосвязей на основе промышленного стандарта, обеспечивающего объединение кода платформы с иным шифром.

Основные компоненты

Созданный компанией «Майкрософт» «Фреймворк» состоит из библиотеки классов и общеязыковой среды выполнения (CLR). Под последней подразумевается агент, руководящий кодами во время их реализации и предоставляющий несколько основных служб (сервисов управления памятью, потоками и удаленного взаимодействия).

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

Другим основным компонентом платформы является библиотека классов. Это полная объектно-ориентированная коллекция типов применяемых при создании приложений, начиная со стандартных, открывающихся с помощью командной строки или пользователя, и заканчивая оборудованием, использующим последние возможности технологии ASP.NET, такие как XML-веб-службы и Web Forms.

Взаимодействие элементов

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

Потенциал среды CLR

Этот элемент платформы отвечает за память, выполнение потоков и кодов, проверку безопасности написанного шифра, компиляцию и другие системные службы. Подобные средства называются внутренними. Они относятся к управляемому коду, выполняемому в среде CLR.

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

Образец назначения приоритетов

К примеру, пользователь может доверить активному приложению, встроенному в веб-страницу, воспроизведение аудиозаписи или анимации, запрещая доступ к личным файлам или сети. Благодаря средствам безопасности CLR подлинное развернутое в Интернете программное обеспечение получает богатые функции.

Устранение возможных ошибок приложений

Инфраструктура точной типизации и проверки кодов, называющаяся CTS, реализуется с помощью среды выполнения, гарантирующей надежность написанного шифра. Благодаря подобной системе обеспечивается самоописание всех элементов. Различными языковыми компиляторами компании Microsoft и независимых авторов создается управляемый код. Он соответствует системе общих типов. Этот код также принимает иные управляемые экземпляры. При этом он гарантирует строгую типизацию.

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

Увеличение производительности

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

Совместимость

Среду выполнения создавали для будущего оборудования. Однако ею поддерживаются ранее написанные приложения. Благодаря взаимодействию управляемого и неконтролируемого кодов разработчики могут использовать нужные компоненты COM и элементы библиотеки DLL.

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

Библиотека классов Net Framework

Это коллекция типов, тесно интегрирующихся со средой CLR. Библиотека классов объектно-ориентирована. Из предоставляемых ею типов управляемый пользовательский код нередко наследует функции. Благодаря этому упрощается работа и уменьшается время, затраченное на освоение новейших средств платформы. Помимо того, созданные независимыми авторами элементы можно с легкостью объединять со встроенными классами. К примеру, входящий в состав коллекций платформы набор интерфейсов можно применять при разработке пользовательских компонентов. Подобные классы легко объединятся со встроенными.

Выполнение процессов

Благодаря типам платформы можно решить такие стандартные задачи, как сбор сведений, подключение к информационной системе, доступ к различным файлам, работа со строками. Кроме того, многие из них поддерживают узкоспециализированные сценарии разработки. К примеру, платформа используется для создания консольного обеспечения, веб-служб, сервиса Windows, программ с графическим а также приложений Wpf, Asp.Net, Wcf, Wf.

Код сторонних изготовителей

Что такое «Фреймворк» независимого автора? сайтов, позволяющий избежать рутинной работы по переписыванию повторяющихся участков из проекта в проект. Главный упор делается на логику. Любой пользователь, занимающийся веб-разработкой довольно длительное время, имеет в распоряжении какие-либо готовые классы, применяемые в своих проектах. Подобный набор библиотек можно назвать «Фреймворком». Со временем программист начинает понимать, что старый код совершенно не годится, и его надо снова переделывать. Но пользователь может сэкономить время, воспользовавшись ранее написанным опытными разработчиками «Фреймворком».

Php-«Фреймворк»

Это удивительно полезный инструмент. Благодаря ему Php-приложения создаются и обслуживаются гораздо быстрее. Это способствует высококачественной и структурированной веб-разработке.

Разновидности

Yii-«Фреймворк» представляет собой инструмент для создания Web2.0-приложений. Релизная версия была представлена в декабре 2008 года. По сути, это высокоприоритетный Php-«Фреймворк». В то время было выпущено множество похожих кодов, однако Yii представляет наибольший интерес. Он был создан автором «Фреймворка» Prado. Yii отличается высокой производительностью. Он является абсолютно PHP5-совместимым «Фреймворком», построенным на архитектуре MVC. Yii прост в использовании, хорошо организован.

Javascript «Фреймворки»: разновидности

При разработке веб-приложений (не стоит путать с сайтами с интерактивным UI) пользователю приходится изобретать «велосипед», сначала отделяя информацию от UI-части приложения, а затем определяя ответственного за их взаимодействие. Поэтому рано или поздно программист начинает искать готовые решения для обеспечения взаимосвязи между этими компонентами. Устранить проблему помогает Javascript «Фреймворк». Он имеет более 30 разновидностей.

Jquery - это интересный Js-«Фреймворк», подкупающий относительной простотой понимания и возможностью комфортного использования. В последнее время он стал довольно популярным. Jquery-«Фреймворк» обладает вполне достойным функционалом. Для него создано множество плагинов и инструкций. Начинающие веб-разработчики могут с легкостью освоить Jquery. Поэтому он используется все чаще и чаще.

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

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

Фреймворк программной системы

Говоря о программной системе (то есть о Программном обеспечении и, возможно, соответствующей аппаратной составляющей для её выполнения) под фреймворком подразумевают некую единую систему , которая призвана объединить все элементы программы в единое целое. То есть это могут быть, как разные библиотеки , так и непосредственно принципы написания кода, которые позволяют программе функционировать, а не просто занимать место.

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

Фреймворк приложения

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

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

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

Реализация фреймворка

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

Время от времени при скачивании и установке программ компьютер показывает ошибки, связанные с отсутствием некоего Microsoft .NET Framework. Два наиболее частых сообщения об ошибках? Либо.Net Framework не установлен на компьютере, либо установлена его устаревшая версия. Ссылка на то, чтобы скачать Net Framework 4.7, находится ниже в статье. Есть и подробные инструкции по выбору и установке.

Так что за зверь такой? Это программа, без которой современные ОС Windows не являются самими собой. Важнейший компонент Винды.

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

Прежде всего, произносится это чудо-юдо, как «дот нет фреймворк». «Точка-нет» по-русски (ну, почти по-русски). Dot Net.

Чтобы ответить на вопрос, что такое.NET Framework для Windows, нужно понять, почему он вообще существует. Ссылки на скачивание программы расположены ниже (это официальные серверы Майкрософт) – пока закачивается, взгляните на объяснения. Всё довольно просто, хотя придётся нырнуть в кое-какие вопросы программирования. Нет, программистом для понимания «Дот-Нета» быть не нужно.

Так вот: программисты – те люди, которые создают программы. Их работа подразумевает, что они «пишут код». Пишут код они на разных языках программирования. Код – объяснения для компьютера, что делать в каждый момент его работы.

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

И тут на помощь программисту приходит.NET Framework для Windows: скачать его можно бесплатно. Суть этого программного обеспечения – огромная коллекция уже написанных для программистов библиотек кода, которые позволяют вывести на экран то же окно. Такой код написан специалистами Microsoft. Он позволяет программистам не отвлекаться на ненужные вещи, а создавать свои программы.

Наглядный пример. В недрах.NET Framework есть множество детально проработанных операций – скажем:

  • инструкция для Windows, как нарисовать на экране окно;
  • готовая функция, чтобы поместить кнопки внутри окна;
  • что именно делать компьютеру, когда происходит нажатие на эти кнопки;

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

Хорошо, «Net Framework» – палочка-выручалочка для программистов. Зачем он рядовому пользователю?

Дело в том, что пока на компьютере не установлен.NET Framework, Windows не знает, как работать с программами, написанными в этой среде. Так и выскакивают на экран ошибки: «Данная программа требует установки Net.Framework». Таких программ всё больше и больше – это драйверы видеокарт Radeon и GeForce, графические редакторы типа Paint.NET, многочисленные мессенджеры и т.д.

Итак, для нормальной работы многих программ в Windows требуется программа.NET Framework (точнее – её часть под названием Redistributable Package – «распространяемый пакет»). Она нужна не для программистов – она нужна для обычных пользователей, чтобы на их машинах запускались скачанные программы.

Где скачать.NET Framework. Какие версии подходят для Windows 7, 8 и 10

На большинстве компьютеров с Windows на борту уже установлен.NET Framework – обычно старые версии. А именно:

  • в Windows 7 уже встроен установленный.Net Framework версии 3.5.
  • Windows 8 и 8.1 поставляются с версиями 4.5-4.5.1;
  • Windows 10 включает в себя версию 4.6.

Современные приложения требуют свежак. Да и для общей безопасности лучше скачать.NET Framework свежей версии (на середину 2017 года это 4.7). Подходит для Windows вплоть до старенькой уже «семёрки». Установка предельно простая.

Вообще-то свежие версии программы скачиваются автоматически, через службу обновлений (Windows Update). Но слишком часто она отключена ( – этому ремеслу была посвящена целая статья на Woocomp), поэтому можно воспользоваться обычным скачиванием с сайта Microsoft. Всё бесплатно, разумеется.

Наиболее свежая версия.NET Framework 4.6.2 подходит для скачивания и установки на Windows 10, Windows 8.1 и Windows 7 SP1. не требуется. Полная версия дистрибутива занимает около 60 мегабайт.

На сайте Microsoft есть две версии инсталлятора:

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

Установка

Сама установка предельно простая, занимает 2-3 минуты в зависимости от мощности компьютера.

  1. Скачиваем .NET Framework 4.7 с сайта Microsoft (полная версия, 59,1 Мбайт). Выбираем русский язык из списка.
  2. Запускаем скаченный файл.
  3. Готово!

Версия 4.7 самостоятельно удаляет с компьютера предыдущие релизы.NET Framework, начиная с версии 4.0 (конкретнее – версии 4, 4.5, 4.5.1, 4.5.2, 4.6.1 и 4.6.2 будут удалены при установке). Их не нужно деинсталлировать вручную. Более старые версии (3.5 SP1 к примеру) – отдельные программы. Они не удалятся самостоятельно, да и вообще их лучше оставить для совместимости со старыми программами.

Как узнать какие версии.Net Framework установлены в системе?

Это можно сделать через системный реестр

Запускаем Редактор реестра: Пуск -> Выполнить -> regedit .

Переходим в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

Видим ветки с номерами версий и дополнительными параметрами.

Install = 1 - говорит что версия установлена.
SP - показывает номер установленного Service Pack.
Version - показывает полный номер версии.

Что нового в Net Framework 4.7

Список изменений в версии 4.7, которая вышла в начале мая 2017, включает:

  • улучшенную поддержку экранов с высокими разрешениями;
  • расширенную поддержку тач-скринов в Windows 10;
  • улучшенную поддержку криптографии;
  • поддержку языков C# 7 and VB 15;
  • улучшения в производительности и надёжности фреймворка.

Не откладывайте установку этого важного компонента Windows. Скачать Net Framework 4.7 нужно как можно скорее: из системы уйдут многие ошибки.

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’а, абстрагируйте там то, что вы можете использовать несколько раз. Это поможет вам быстро начать создавать новую страницу, или поддерживать уже существующую. Позаботьтесь об этом, ведь это не требует особых знаний и не повредит вашим проектам, а главное, сэкономит время на создания дизайна следующего.