SlideShare a Scribd company logo
1 of 19
Bohater UI bez front-end developera?
Tworzenie aplikacji z wykorzystaniem
ASP.NET MVC DEVEXPRESS
Piotr Stola GET.NET Gdańsk 2014
1. Wprowadzenie
2. Dlaczego DevExpress ASP.NET MVC ?
3. Koncepcje implementacji
4. DevExpress ASP.NET MVC - Outlook Style Demo
5. Podsumowanie i wnioski
6. Q & A
Agenda
• Piotr Stola – piotr.stola@quick-solution.net
• niezależny konsultant programista
• rozwiązania na szeroko rozumiany sektor finansowy
• ASP NET MVC , .NET / C#, Devexpress MVC
Umbraco CMS / CMF
• popołudniami – Mistrz Jedi i architekt LEGO ;)
“Feel the force!” - Yoda
Wprowadzenie
1. Rodzaje rozszerzeń MVC i ich funkcjonalności
2. Łatwość używania i implementacji
3. Wsparcie dla urządzeń mobilnych
oraz możliwość dostosowania i modyfikacji
wyglądu kontrolek
Dlaczego DevExpress ASP.NET MVC ?
1. Rodzaje kontrolek i ich funkcjonalności
• jakie kontrolki wchodzą w skład pakietu
(nie chodzi o ilość)
http://demos.devexpress.com/mvc
• wydajność przy dużych zbiorach danych
• jakie posiadają funkcje
• sprawdzenie co jest na road mapie dostawcy
Dlaczego DevExpress ASP.NET MVC ?
2. Łatwa implementacji
• możliwości konfiguracji dodatkowych
funkcjonalności rozszerzeń MVC
• jaki dostaniemy rezultat HTML po renderingu
• czy istnieje wsparcie Java Script Client API
• czy istnieje wsparcie dla AJAX
Dlaczego DevExpress ASP.NET MVC ?
3. Wsparcie dla urządzeń mobilnych oraz
możliwość dostosowania wyglądu kontrolek
• dostępne istniejące motywy ( themes )
• łatwość tworzenia i implementacji nowych
motywów
• możliwość zmiany CSS poszczególnych
rozszerzeń MVC.
Dlaczego DevExpress ASP.NET MVC ?
Koncepcje implementacji
Deklaracja rozszerzeń
@Html.DevExpress().Button(settings =>
{
settings.Name = "btnSample";
settings.UseSubmitBehavior = false;
settings.ClientSideEvents.Click =
"function(s,e) { alert(s.name); }";
}).GetHtml();
@Html.DevExpress().Button(
DevButtonHelper.CreateButtonSettings()
).GetHtml();
Koncepcje implementacji
Bindowanie danych
@model IEnumerable<User>
@Html.DevExpress().GridView(
settings => {
settings.Name = "GridBinding";
settings.Width = Unit.Percentage(100);
settings.CallbackRouteValues = new {
Controller = "Home",
Action = "DataBindingPartial"
};
settings.Columns.Add(column => {
column.FieldName = "LastUpdated";
column.Caption = "Last Updated";
column.ColumnType = MVCxGridViewColumnType.DateEdit;
column.PropertiesEdit.DisplayFormatString = "HH:mm:ss";
});
}).Bind(Model).GetHtml()
Koncepcje implementacji
Event-driven
@Html.DevExpress().PivotGrid(
settings => {
settings.Name = "pivotGrid";
settings.HtmlCellPrepared = (sender, e) => {
if (e.ColumnField != null &&
e.ColumnField.FieldName == "stockDate" ) {
e.Cell.BackColor =
System.Drawing.ColorTranslator.FromHtml("#F0F0F0");
}
};
settings.BeforeGetCallbackResult = (sender, e) => {
var pivot = ((MVCxPivotGrid)sender);
pivot.Fields["srManager"].Visible = true;
};
}).Bind(Model).GetHtml()
“Do or do not. There is no try” - Yoda
Devexpress MVC Outlook - Demo
Koncepcje implementacji
Client-Side API i Client-Side Events
<script type="text/javascript">
function ShowAlert() {
alert("Hello World (" + btnMasterClick.name + ")");
}
</script>
@Html.DevExpress().Button(settings => {
settings.Name = "btnMasterClick";
settings.EnableClientSideAPI = true;
settings.Text = "Click me !";
settings.ClientSideEvents.Click = "ShowAlert";
}).
Podstawowe koncepcje implementacji
Czym jest Callback ?
Asynchroniczne wywołanie metody po stornie serwera.
Warunki :
• W roszerzeniu MVC, w property CallbackRouteValues musi
znaleźć się logika routingu
• W kontrolerze musi znajdować się metoda, które obsłuży dany
Callback
• Rozszerzenie MVC musi zostać umieszczane w odrębnym
PartialView
• W PartielView nie mogą się znajdować inne tagi HTML, może
być tylko kod implementujący dane rozszerzenie
“Do or do not. There is no try” - Yoda
Devexpress MVC Outlook - Demo
Podstawowe koncepcje implementacji
Themes
“Do or do not. There is no try” - Yoda
Devexpress MVC Outlook - Demo
1. Warto używać rozszerzeń DEVEXPRESS MVC w
określonych scenariuszach
2. Dość niski próg wejściowy jeżeli chodzi o naukę
implementacji
3. Zyskujemy
• szybszą implementację funkcjonalności w projekcie
• UI out of the box
• aplikacja, która jest cross-browser
• wsparcie dla JavaScrip i AJAXa - Callbacks
• wsparcie dla urządzeń mobilnych
4. Dobra relacja ceny kosztu zakupu do zaoszczędzonego
development poszczególnych funkcjonalności
Wnioski
1. Dlaczego zdecydowaliśmy się na DevExpress ASP.NET MVC?
• warto zrobić sobie dokument ewaluacji i wcześniej ustalić
czego będziemy potrzebować w aplikacji
2. Zapoznaliśmy się z podstawowymi koncepcjami implementacji
• deklaracja rozszerzeń MVC w widokach
(GridView, PivotGrid ect.)
• bindowanie i renderowanie danych
• obsługa eventów
• Client API i Client Side Events
• wsparcie dla AJAXa – Callbacks
• motywy i wygląd rozszerzeń MVC
3. Wnioski
Podsumowanie
Q & A
“May the Force be with you”
Questions & Answers

More Related Content

What's hot

Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVCQuick-Solution
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Bartlomiej Zass
 
Wzorce projektowe (w ASP.NET i nie tylko)
Wzorce projektowe (w ASP.NET i nie tylko)Wzorce projektowe (w ASP.NET i nie tylko)
Wzorce projektowe (w ASP.NET i nie tylko)Bartlomiej Zass
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
Optymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NETOptymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NETBartlomiej Zass
 
Najlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NETNajlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NETMarcin Daczkowski
 
e2e frameworks - czyli kij ma dwa końce
e2e frameworks - czyli kij ma dwa końcee2e frameworks - czyli kij ma dwa końce
e2e frameworks - czyli kij ma dwa końceThe Software House
 
Architektura SOA - wstęp
Architektura SOA - wstępArchitektura SOA - wstęp
Architektura SOA - wstępSages
 
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...The Software House
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...Trójmiejska Grupa Testerska
 
Functional widgets in Rails
Functional widgets in RailsFunctional widgets in Rails
Functional widgets in RailsSebastian Sito
 
CQRS, ES, Scala @ Confitura 2012
CQRS, ES, Scala @ Confitura 2012CQRS, ES, Scala @ Confitura 2012
CQRS, ES, Scala @ Confitura 2012Maciek Próchniak
 
Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Natalia Stanko
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)Trójmiejska Grupa Testerska
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopotneoteric-eu
 
Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Future Processing
 

What's hot (17)

Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?
 
Wzorce projektowe (w ASP.NET i nie tylko)
Wzorce projektowe (w ASP.NET i nie tylko)Wzorce projektowe (w ASP.NET i nie tylko)
Wzorce projektowe (w ASP.NET i nie tylko)
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
Optymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NETOptymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NET
 
Najlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NETNajlepsze praktyki testowania aplikacji ASP.NET
Najlepsze praktyki testowania aplikacji ASP.NET
 
e2e frameworks - czyli kij ma dwa końce
e2e frameworks - czyli kij ma dwa końcee2e frameworks - czyli kij ma dwa końce
e2e frameworks - czyli kij ma dwa końce
 
Architektura SOA - wstęp
Architektura SOA - wstępArchitektura SOA - wstęp
Architektura SOA - wstęp
 
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
 
Olga Żądło - Robot Framework
Olga Żądło - Robot FrameworkOlga Żądło - Robot Framework
Olga Żądło - Robot Framework
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
 
Functional widgets in Rails
Functional widgets in RailsFunctional widgets in Rails
Functional widgets in Rails
 
CQRS, ES, Scala @ Confitura 2012
CQRS, ES, Scala @ Confitura 2012CQRS, ES, Scala @ Confitura 2012
CQRS, ES, Scala @ Confitura 2012
 
Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
 
Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.
 

Similar to Bohater UI bez front end developera ?

Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznieSages
 
Podstawy AngularJS
Podstawy AngularJSPodstawy AngularJS
Podstawy AngularJSSages
 
MvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.AndroidMvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.AndroidIn'saneLab
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Tomasz Cieplak
 
Wzorce projektowe w Magento
Wzorce projektowe w MagentoWzorce projektowe w Magento
Wzorce projektowe w MagentoDivante
 
My littlemvc 2008 official
My littlemvc 2008 officialMy littlemvc 2008 official
My littlemvc 2008 officialskowronkow
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymDariusz Jagieło
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
AADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScriptAADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScriptJacek Okrojek
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?javOnet
 
Szybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJSSzybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJSThe Software House
 
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressieObiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressieWordCamp Polska
 
Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)Bartlomiej Zass
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.jsWojciech Kaniuka
 
Citrix NetScaler Gateway i Azure MFA
Citrix NetScaler Gateway i Azure MFACitrix NetScaler Gateway i Azure MFA
Citrix NetScaler Gateway i Azure MFAPawel Serwan
 
Praktyczne użycie chmury 3 kroki
Praktyczne użycie chmury 3 krokiPraktyczne użycie chmury 3 kroki
Praktyczne użycie chmury 3 krokiRyszard Dałkowski
 

Similar to Bohater UI bez front end developera ? (20)

Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznie
 
Podstawy AngularJS
Podstawy AngularJSPodstawy AngularJS
Podstawy AngularJS
 
MvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.AndroidMvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.Android
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
 
Wzorce projektowe w Magento
Wzorce projektowe w MagentoWzorce projektowe w Magento
Wzorce projektowe w Magento
 
My littlemvc 2008 official
My littlemvc 2008 officialMy littlemvc 2008 official
My littlemvc 2008 official
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
university day 1
university day 1university day 1
university day 1
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Projektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowychProjektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowych
 
AADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScriptAADays 2015 - Jak to zrobic w JavaScript
AADays 2015 - Jak to zrobic w JavaScript
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?
 
Szybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJSSzybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJS
 
WordCamp Lublin 2017
WordCamp Lublin 2017WordCamp Lublin 2017
WordCamp Lublin 2017
 
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressieObiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
 
Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
 
Citrix NetScaler Gateway i Azure MFA
Citrix NetScaler Gateway i Azure MFACitrix NetScaler Gateway i Azure MFA
Citrix NetScaler Gateway i Azure MFA
 
Praktyczne użycie chmury 3 kroki
Praktyczne użycie chmury 3 krokiPraktyczne użycie chmury 3 kroki
Praktyczne użycie chmury 3 kroki
 

Bohater UI bez front end developera ?

  • 1. Bohater UI bez front-end developera? Tworzenie aplikacji z wykorzystaniem ASP.NET MVC DEVEXPRESS Piotr Stola GET.NET Gdańsk 2014
  • 2. 1. Wprowadzenie 2. Dlaczego DevExpress ASP.NET MVC ? 3. Koncepcje implementacji 4. DevExpress ASP.NET MVC - Outlook Style Demo 5. Podsumowanie i wnioski 6. Q & A Agenda
  • 3. • Piotr Stola – piotr.stola@quick-solution.net • niezależny konsultant programista • rozwiązania na szeroko rozumiany sektor finansowy • ASP NET MVC , .NET / C#, Devexpress MVC Umbraco CMS / CMF • popołudniami – Mistrz Jedi i architekt LEGO ;) “Feel the force!” - Yoda Wprowadzenie
  • 4. 1. Rodzaje rozszerzeń MVC i ich funkcjonalności 2. Łatwość używania i implementacji 3. Wsparcie dla urządzeń mobilnych oraz możliwość dostosowania i modyfikacji wyglądu kontrolek Dlaczego DevExpress ASP.NET MVC ?
  • 5. 1. Rodzaje kontrolek i ich funkcjonalności • jakie kontrolki wchodzą w skład pakietu (nie chodzi o ilość) http://demos.devexpress.com/mvc • wydajność przy dużych zbiorach danych • jakie posiadają funkcje • sprawdzenie co jest na road mapie dostawcy Dlaczego DevExpress ASP.NET MVC ?
  • 6. 2. Łatwa implementacji • możliwości konfiguracji dodatkowych funkcjonalności rozszerzeń MVC • jaki dostaniemy rezultat HTML po renderingu • czy istnieje wsparcie Java Script Client API • czy istnieje wsparcie dla AJAX Dlaczego DevExpress ASP.NET MVC ?
  • 7. 3. Wsparcie dla urządzeń mobilnych oraz możliwość dostosowania wyglądu kontrolek • dostępne istniejące motywy ( themes ) • łatwość tworzenia i implementacji nowych motywów • możliwość zmiany CSS poszczególnych rozszerzeń MVC. Dlaczego DevExpress ASP.NET MVC ?
  • 8. Koncepcje implementacji Deklaracja rozszerzeń @Html.DevExpress().Button(settings => { settings.Name = "btnSample"; settings.UseSubmitBehavior = false; settings.ClientSideEvents.Click = "function(s,e) { alert(s.name); }"; }).GetHtml(); @Html.DevExpress().Button( DevButtonHelper.CreateButtonSettings() ).GetHtml();
  • 9. Koncepcje implementacji Bindowanie danych @model IEnumerable<User> @Html.DevExpress().GridView( settings => { settings.Name = "GridBinding"; settings.Width = Unit.Percentage(100); settings.CallbackRouteValues = new { Controller = "Home", Action = "DataBindingPartial" }; settings.Columns.Add(column => { column.FieldName = "LastUpdated"; column.Caption = "Last Updated"; column.ColumnType = MVCxGridViewColumnType.DateEdit; column.PropertiesEdit.DisplayFormatString = "HH:mm:ss"; }); }).Bind(Model).GetHtml()
  • 10. Koncepcje implementacji Event-driven @Html.DevExpress().PivotGrid( settings => { settings.Name = "pivotGrid"; settings.HtmlCellPrepared = (sender, e) => { if (e.ColumnField != null && e.ColumnField.FieldName == "stockDate" ) { e.Cell.BackColor = System.Drawing.ColorTranslator.FromHtml("#F0F0F0"); } }; settings.BeforeGetCallbackResult = (sender, e) => { var pivot = ((MVCxPivotGrid)sender); pivot.Fields["srManager"].Visible = true; }; }).Bind(Model).GetHtml()
  • 11. “Do or do not. There is no try” - Yoda Devexpress MVC Outlook - Demo
  • 12. Koncepcje implementacji Client-Side API i Client-Side Events <script type="text/javascript"> function ShowAlert() { alert("Hello World (" + btnMasterClick.name + ")"); } </script> @Html.DevExpress().Button(settings => { settings.Name = "btnMasterClick"; settings.EnableClientSideAPI = true; settings.Text = "Click me !"; settings.ClientSideEvents.Click = "ShowAlert"; }).
  • 13. Podstawowe koncepcje implementacji Czym jest Callback ? Asynchroniczne wywołanie metody po stornie serwera. Warunki : • W roszerzeniu MVC, w property CallbackRouteValues musi znaleźć się logika routingu • W kontrolerze musi znajdować się metoda, które obsłuży dany Callback • Rozszerzenie MVC musi zostać umieszczane w odrębnym PartialView • W PartielView nie mogą się znajdować inne tagi HTML, może być tylko kod implementujący dane rozszerzenie
  • 14. “Do or do not. There is no try” - Yoda Devexpress MVC Outlook - Demo
  • 16. “Do or do not. There is no try” - Yoda Devexpress MVC Outlook - Demo
  • 17. 1. Warto używać rozszerzeń DEVEXPRESS MVC w określonych scenariuszach 2. Dość niski próg wejściowy jeżeli chodzi o naukę implementacji 3. Zyskujemy • szybszą implementację funkcjonalności w projekcie • UI out of the box • aplikacja, która jest cross-browser • wsparcie dla JavaScrip i AJAXa - Callbacks • wsparcie dla urządzeń mobilnych 4. Dobra relacja ceny kosztu zakupu do zaoszczędzonego development poszczególnych funkcjonalności Wnioski
  • 18. 1. Dlaczego zdecydowaliśmy się na DevExpress ASP.NET MVC? • warto zrobić sobie dokument ewaluacji i wcześniej ustalić czego będziemy potrzebować w aplikacji 2. Zapoznaliśmy się z podstawowymi koncepcjami implementacji • deklaracja rozszerzeń MVC w widokach (GridView, PivotGrid ect.) • bindowanie i renderowanie danych • obsługa eventów • Client API i Client Side Events • wsparcie dla AJAXa – Callbacks • motywy i wygląd rozszerzeń MVC 3. Wnioski Podsumowanie
  • 19. Q & A “May the Force be with you” Questions & Answers

Editor's Notes

  1. Konkurs