Artykuły dla tagu C#

freeimages.com
gru 13 2014
0

Współdzielenie kodu i zasobów w Universal Apps

W ostatnim czasie otworzyłem mały cykl wpisów na temat Universal Apps, ponieważ jest to obecnie dość bliski mi zawodowo temat. Sama koncepcja tego rozwiązania, wydaje się być odważna, ale wygląda jednak na to, że ktoś to w Microsofcie całkiem sprytnie to przemyślał. Oczywiście kilka elementów jeszcze tutaj kuleje, ale w tej chwili projekty Universal Apps przypominają trochę tworzenie stron responsywnych. Mamy jednolity backend i tak naprawdę zmienia się głównie frontend (XAML), choć w tym akurat przypadku programiści XAMLa mają trochę lepiej niż frontendowcy;-)

Dlaczego o tym wszystkim znów piszę? A no dlatego, że tym właśnie wpisem chciałbym usystematyzować wiedzę co, gdzie i jak współdzielić w projektach Universal Apps.

freeimages.com
gru 07 2014
0

Biblioteki warte poznania w C# - MVVM Light

Dużo w ostatnim czasie piszę o aplikacjach uniwersalnych, a wcześniej również sporo było tekstów o WPF. Co łączy oba tematy? Oprócz XAMLa który pojawia się w obu tych technologiach, pewnym dość istotnym łącznikiem jest wzorzec architektoniczny MVVM. MVVM pozwala na rozbicie logiki naszej aplikacji na pewne określone elementy. Mamy widoki, modele oraz tajemniczy element ViewModel. ViewModel to klasa, która zawiera uporządkowane i wypełnione danymi klasy modelu, pasujące do pewnego określonego widoku. Innymi słowy, jest to pewien łącznik pomiędzy klasycznym modelem i widokiem. W praktyce takie rozwiązanie jest dosyć elastyczne i coraz częściej zaczyna przenikać również do... ASP.NET MVC, jednak nie o tym jest dzisiejszy tekst.

Dziś chciałbym Wam zaprezentować bibliotekę MVVM Light, która działa w różnych środowiskach i daje solidne wsparcie dla tego wzorca. Z tytułowego rozwiązania możemy skorzystać zarówno w WPF, jak też w projektach opartych o Silverlight, aplikacjach uniwersalnych, czy projektach Xamarin. Zaintrygowani? Zainteresowani? Zapraszam do krótkiego opisu;-)

ign.com
lis 30 2014
0

Windows Universal Apps - nasz pierwszy projekt

W ostatnim czasie mocno wchodzę w temat Universal Apps, ponieważ jest to obszar w który w najbliższej przyszłości będę się angażować zawodowo, a jeśli czas pozwoli być może również i prywatnie. Dotychczas popełniłem dwa teksty na ten temat. Jeśli nie czytaliście ich wcześniej, to polecam lekturę rozpocząć od tego pierwszego, który omawia w sposób ogólny koncepcję aplikacji uniwersalnych dla Windows.

Ponieważ dotychczas więcej było teorii, dziś skupimy się na praktyce i zbudujemy naszą pierwszą aplikację. I bynajmniej nie będzie ona wyświetlała tylko i wyłącznie napisu Hello World;-)

freeimages.com
lis 23 2014
0

Pliki resw w aplikacjach uniwersalnych dla Windows

Aplikacje uniwersalne przyniosły sporo zmian w procesie tworzenia oprogramowania na systemy Microsoftu. Oprócz zupełnie odmienionej koncepcji budowy aplikacji (uwspólnienie architektury dla różnych platform), mamy tutaj również sporo niuansów, które dzieją się niejako za kulisami. Zmiany tego rodzaju dotknęły bardzo wielu obszarów i pewnie gdybym napisał po zdaniu na temat każdej z nich, mógłbym tutaj stworzyć niezły elaborat. Nie w tym jednak rzecz.

Dziś chciałbym skupić się na jednym konkretnym temacie, a mianowicie na starych, poczciwych plikach zasobów resx, które w aplikacjach uniwersalnych stały się passé;-)

freeimages.com
paź 31 2014
0

Koncepcja Universal Apps dla Windows i Windows Phone

Microsoft przespał czas w którym rodziły się nowe mobilne OSy. W momencie gdy powstawał Android oraz iOS, w ofercie giganta z Redmond dostępny był przestarzały i odrobinę toporny Windows Mobile. Microsoft zauważył że zbyt wiele tym OSem nie ugra, więc stworzył Windows Phone, który miał być swego rodzaju sukcesorem wcześniejszej platformy. W międzyczasie pojawił się również kontrowersyjny Windows 8, który wprowadził interfejs Modern UI. W krótkim więc czasie powstało kilka nowych, niekompatybilnych ze sobą platform, które mimo wielu podobieństw wymagały jednak innego podejścia. Sukcesu zabrakło w obu przypadkach.

Windows instalowany jest na większości nowych komputerów, ale nowy interfejs spotkał się raczej z delikatnie mówiąc chłodnym przyjęciem. Windows Phone przez długi czas zwiększał swoje udziały w rynku, ale robił to w zaiste żółwim tempie. Czy zatem nowa koncepcja budowy uniwersalnych aplikacji dla obu ekosystemów, odwróci złą passę Microsoftu?

freeimages.com
paź 09 2014
0

Biblioteki na szybki start z ASP.NET MVC

ASP.NET MVC to spory krok w rozwoju technologii webowych Microsoftu. W stosunku do ASP.NET Web Forms, wiele rzeczy zostało tutaj zorganizowanych lepiej, a sam Microsoft otworzył się bardziej na zewnętrzne rozwiązania. Sama platforma jest bardzo rozszerzalna i łatwo jest wpiąć tutaj wszelkiej maści loggery, ORMy, czy też biblioteki wspomagające testowanie. Różnych rozszerzeń mamy jednak setki, a nawet tysiące. Jak w tym całym oceanie kodu znaleźć coś sensownego? Na początku zachęcam do przeanalizowania dzisiejszego wpisu, który może być dobrym punktem zaczepienia, szczególnie na starcie przygody z MVC;-)

Do lepszej organizacji treści, biblioteki podzieliłem na grupy funkcjonalne. Wszystkie opisywane w tekście biblioteki można pobrać menadżerem pakietów NuGet.

freeimages.com
paź 04 2014
0

Czas w .Net cz. 3 - Czas a baza danych

Witajcie w kolejnym i zarazem ostatnim odcinku cyklu poświęconego opowieściom o czasie. W poprzednich dwóch, opowiedziałem Wam o trzech istotnych klasach występujących w .Net, które są powiązane z tym tematem. Jak pokazały oba wpisy, każda z nich ma swoje miejsce. I wszystko byłoby naprawdę w porządku, gdyby nie bazy danych...

Bazy danych zmieniają sporo, ponieważ niektóre właściwości obiektów nie przenoszą się do bazy danych, mimo tego że w bazie SQL od Microsoftu, istnieją typy o identycznych nazwach. Jak sobie zatem z tym poradzić? Wszystko zależy od tego, czy naszą aplikację kierujemy do użytkowników globalnych, czy też będzie ona dostępna w jednej, wybranej strefie czasowej. Nie mniej jednak opcji jest kilka;-)

freeimages.com
wrz 27 2014
0

Czas w .Net cz. 2 - DateTimeOffset i TimeZoneInfo

W poprzednim i zarazem pierwszym odcinku cyklu o czasie, napisałem sporo o klasie DateTime, która jest bazową konstrukcją wykorzystywaną do określenia daty i czasu. Nakreśliłem jej podstawowe wady, zalety i zastosowania. Generalnie warto znać tę klasę i ogółem jest to bardzo dobra opcja, w sytuacji gdy nasza aplikacja nie korzysta ze stref czasowych. Innymi słowy dobrze nadaje się ona do rozwiązań działających lokalnie. Problem pojawia się gdy korzystamy z bazy danych (tym zajmiemy się w kolejnym odcinku) oraz gdy działamy bardziej globalnie. W takim przypadku klasa DateTime może okazać się niewystarczająca. Na szczęście w wersji 3.5 .Net frameworka Microsoft dodał klasy DateTimeOffset oraz TimeZoneInfo, które w znaczący sposób zwiększają nasze możliwości.

freeimages.com
wrz 17 2014
0

Czas w .Net cz. 1 - DateTime

W .Necie programuje już ponad od 5 lat, ale tak naprawdę nigdy dobrze nie zgłębiłem tematów związanych z czasem. Przez większość mojej programistycznej kariery wystarczała mi bazowa funkcjonalność, którą dostarcza klasa DateTime. Nie miałem po prostu większej styczności z projektami, które funkcjonowały by w różnych strefach czasowych.

Ostatnimi czasy postanowiłem jednak zmienić coś w tym temacie i w tzw. czasie wolnym od pracy, zacząłem tworzyć projekt, w którym użytkownik z założenia wybierałby swoją strefę czasową. Szybko okazało się, że z samą klasą DateTime daleko tu nie zajdę...

freeimages.com
wrz 05 2014
0

ViewModel a ASP.NET MVC

MVC był dotychczas moim ulubionym wzorcem architektonicznym, a aplikacje wykorzystujące ten właśnie wzorzec, mają kilka niezaprzeczalnych zalet. Przede wszystkim mamy tutaj podział na trzy części:

  • Kontroler
  • Model
  • Widok

I choć wszystkie powyższe elementy są od siebie zależne, to w praktyce w tym przypadku dużo łatwiej jest napisać złożone aplikacje, w którym widokom jest bliżej do statycznego HTMLu, a konkretny kod C#/VB znajduje się wewnątrz modeli i kontrolerów. Niestety im dłużej pracuję z MVC, tym bardziej zaczynam dostrzegać pewne braki w tym rozwiązaniu. Można by powiedzieć dostałem palec, a chciałbym całą rękę... Na szczęście mój problem, jest stosunkowo łatwy do rozwiązania;-)