+ All Categories
Home > Documents > Централизованный доступ к компонентам разработки ...

Централизованный доступ к компонентам разработки ...

Date post: 04-Jan-2016
Category:
Upload: chandler-nelson
View: 57 times
Download: 1 times
Share this document with a friend
Description:
DEV307. э ксперт по технологиям веб-разработки. Microsoft. Централизованный доступ к компонентам разработки приложений с помощью NuGet. Владимир Юнев. Содержание. Проблема современной компонентной разработки NuGet – как решение проблемы: Основы: на что способен NuGet - PowerPoint PPT Presentation
53
Transcript
Page 1: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 2: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

DEV307

Централизованный доступ к компонентам разработки приложений с помощью NuGet

Владимир Юневэксперт по технологиям веб-разработкиMicrosoft

Page 3: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Содержание

Проблема современной компонентной разработки

NuGet – как решение проблемы:Основы: на что способен NuGetСоздание и публикация пакетов

NuGet для команд разработчиков:Место NuGet в компанииСоздание своего сервера NuGetNuGet и Continuous Integration

NuGet в бизнесе и проектах

Page 4: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Проблема

как добавить компонент в проект?

Page 5: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Проблема на примере

Добавление к проекту Visual Studio библиотеки ELMAH для регистрации ошибок

Page 6: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Нашлось сразу,

к счастью.

Поиск сайта библиотеки

Page 7: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Похоже, нам сюда

Page 8: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 9: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

?Возможно, нам подойдет

это.

Page 10: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Ок, наверное, то что нужно.

Page 11: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 12: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 13: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Перед распаковкой нужно зайти

в Свойства

Page 14: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

И не забыть...

Page 15: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 16: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 17: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Распаковать сборки в

папку проекта

Page 18: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 19: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 20: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 21: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Нужно добавить

правильные параметры в web.config

Page 22: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet
Page 23: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Ну вот! Работает!

Page 24: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Проблема

Хочу добавить всего одну фичу в проект:Ищем нужный сайт, находим компонентКачаем .zip/.msi/.exeРаспаковываем/запускаемЧитаем мануалОбновляем проект: файлы, сборка, web.config, ......

Page 25: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Проблема

Хочу добавить еще фичи в проект...

Page 26: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Проблема

Коллеги добавляют фичи у себя...

Page 27: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Проблема

Проектов у нас несколько...

Page 28: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Проблема

И таких компаний много

Page 29: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Решение?

пакетный менеджерNuGet

Page 30: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

30

Page 31: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

CastleN

Hib

ern

ate

log4net

NUnit

Elm

ah

Nin

ject

Antlr

Iesi Collections

jQuery

New

tonso

ft.Jso

n

Moq

FluentNHibernate

AutoMapperStructureMap

NLog

Autofac

Facebook SDKRx

RhinoMocks

MvcContrib

51Degrees.mobiD

otN

etO

pen

Au

th

Com

mon

.Log

gin

g

MvvmLight

BBCode

Mvc

Mai

ler

xuni

t

Flu

entV

alid

atio

n

Ham

moc

k

SharpZipLib

FluentHtml-ciMachine.Specifications

jQuery.Validation

WatiN

Htm

lAgi

lityP

ack

Simple.Data.Core

CLEditor

Simple.Data.CoreAltairis.Web.Security

UrlShortener.HelperiT

extS

harp

QuickGraph

DotNetZip

FakeItEasy

PublishSettingsGenerator

Spa

rk

NSubstitute

RavenDB

Luce

ne

AutoPoco

RestSharp

Should

postalnservicebus

reac

tive

ui-c

ore

linq

.js

fast

erfle

ct

combres

TweetSharp

MvcSiteMapProvider

Ad

am.J

SG

en

era

tor

Flu

en

tAss

ert

ion

s

Bootstrapper

AzureToolkit

ErikEJ.SqlCeMembership

Page 32: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Главная цель - построение экосистемы разработки

Page 33: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Решение

install-package feature

• Ищем нужный сайт, находим компонент

• Качаем .zip/.msi/.exe• Распаковываем/запускаем• Читаем мануал• Обновляем проект: файлы, сборка,

web.config, ...• ...

Page 34: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

NuGet в командах

Install-Package

Update-Package

Uninstall-Package

Get-Package

New-Package

Page 35: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Демонстрация• практическое использование NuGet• создание и публикация собственных пакетов

Page 36: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

NuGet – это решение!

быстрый доступ к тысячам готовых компонентавтоматическая установка, обновление, удалениеразрешение зависимостейлегкость создания пакетов и публикациикомандная строка и UI,nuget.exeрасширение команд,PowerShellоткрытые стандарты

Page 37: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

NuGet для команд

• свой сервер пакетов• контроль версий• continuous integration

Page 38: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Какие задачи мы пытаемся решить?

Разделение компонент бизнес-логики между

командами

Разделение лучших практик между

командами

Построение экосистемы на базе существующих готовых компонент и

сторонних инструментов

Настройка специфичной для компании конфигурации

Page 39: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Как задачи зачастую решаются сегодня?

Файловые хранилища с папками загруженных компонент и установщиками инструментов

Наследственные и «особые» знания

Разряженная документация в wiki, файлах или обсуждениях в email

Вытягивание решений из имеющихся исходных кодов в средстве контроля версий внутри компании

Page 40: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Чем NuGet способен помочь?

Предлагает централизованное хранилище знаний на языке кода, сборок, конфигураций и скриптов автоматизации

Предлагает конкрентные решения вместо руководств, политик или абстрактных стандартов

NuGet – это часть автоматических процессов разработки

Page 41: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Использование NuGet в компании

Разверните собственный репозиторий пакетовВ локальной сети или в виде веб-сервера

Начните оформлять библиотеки и компоненты компании в виде пакетов NuGet

Используйте мета-пакеты для оформления лучших практик:

Мета-пакеты - набор зависимостейПримеры: пакет тестирования, базовый набор приложений

Page 42: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Интеграция NuGet в компании

Проект

Проект

Проект

Создавайте проекты на базе пакетов NuGet, автоматизируйте

создание и обновление собственных пакетов

Храните проекты и конфигурацию пакетов в вашей системе контроля

версий

Интегрируйте NuGet в вашу систему Continuous Integration

VCS

VCS

VCS

CI

Page 43: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Демонстрация

создание своего сервера NuGet, интеграция в компании

Page 44: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

NuGet в компании – это решение!

Единое хранилище лучших практик, библиотек и компонент компании

Быстрый доступ к сторонним компонентам

Однообразный подход к установке, обновлению и конфигурированию проектов

Интеграция в процессы разработки

Page 45: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Примеры применения

• NuGet в бизнесе• примеры проектов

Page 46: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

NuGet как средство доставки

Компания Devexpress

Page 47: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

NuGet как сервис

MyGet.org - oблачный NuGet

Page 48: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

NuGet и GitHub

NuGit.org – сервис интеграции с GitHub

Page 49: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Итоги

Page 50: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Итоги NuGet

NuGet позволит организовать централизованный доступ к компонентам и практикам разработки приложений в компании

NuGet – это основа инфраструктуры разработки ПО

NuGet – функциональный инструмент с интеграцией в процессы разработки

NuGet – открытый механизм, который может стать основой ваших собственных сервисов

Page 51: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Ресурсы

http://nuget.org – официальный сайтhttp://nuget.codeplex.com – исходные коды, багтрекер, информация, последние версии, форум

http://nugetter.codeplex.com – интеграция с TFS

http://myget.org – облачный NuGethttp://mygit.org – интеграция с GitHub

Page 52: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Обратная связь

Уважаемые участники!Ваше мнение очень важно для нас!В блокноте, который находится в инфопаке участника, вы найдете анкету для оценки докладовПожалуйста, оцените доклад и сдайте анкету при выходе из зала модераторуДля участия в конкурсе заполненных анкет, отметьте в анкете номер, который указан на вашем бейдже

Спасибо!

Page 53: Централизованный доступ  к  компонентам разработки  приложений  с помощью NuGet

Всем спасибо! Ваши вопросы

DEV307Владимир Юнев

эксперт по технологиям веб-разработки[email protected]://blogs.msdn.com/b/vyunev@XaocCPS, facebook.com/yunev


Recommended