Xamarin.Forms nie jest lekiem na całe zło i w praktyce nie da się za pomocą tej technologii zrobić w pełni natywnego efektu, stosując dostępne standardowo kontrolki. Idea tego rozwiązania jest inna. Do worka zwanego Xamarin.Forms trafiają takie elementy, które da się jakoś uwspólnić pomiędzy obsługiwanymi systemami. Innymi słowy po użyciu określonej kontrolki i tak w rzeczywistości zostanie wykorzystana ta natywna, która w danym systemie jest najbardziej zbliżona funkcjonalnie i wizualnie. I tak np. Form...
Strona głównaUżytkownik
rroszczyk | użytkownik
Sztuka programowania 3016 dni, 22 godziny, 44 minuty temu 49 źrodło rozwiń
We have many pdf libraries that we can use, but none of them are perfect and all of them have some advantages and disadvantages. Here is my little experience with generating PDF file in .net framework with generating reports both, in a browser on demand and large numbers in bash/console by night. Crystal_Reports - big, commercial library develop by big company Pros: - can be really fast Co...
Na blogu rzadko poruszam tematy CSS, ale czasami nawet jak ma się bardzo małą warstwę prezentacji, warto zainwestować trochę czasu w poznanie nowych bibliotek. Dzisiaj chciałbym przedstawić LessCss. Biblioteka stanowi pewnego rodzaju pre-processor, który rozszerza możliwości klasycznego CSS. Na wyjściu zatem pojawi się zwykły CSS, który jest obsługiwany przez wszystkie przeglądarki. Sprawą “kompilacji”, zajmiemy się w innym wpisie, ponieważ istnieje wiele sposobó...
W poprzednim wpisie na temat Xamarina, zrobiłem małe wprowadzenie teoretyczne do tej technologii. Przedstawiłem podstawowe założenia oraz dostępne warianty użycia tego rozwiązania. Jeśli uważasz, że wybór technologii jaką jest Xamarin był sam w sobie trudną decyzję, to mam niestety złą wiadomość. Już na starcie trzeba podjąć kolejną i to równie ważną. Którego podejścia użyć - Forms czy Native? W poprzednim poście przedstawiłem podstawowe założenia obu z nich. W wielkim skrócie - Forms zapewnią większą ...
Mobile development 3023 dni, 9 godzin, 53 minuty temu 153 źrodło rozwiń
ASP .NETPiotr Zieliński1 Comment ASP.NET Core ułatwia w znaczący sposób IoC. Przede wszystkim wbudowano w framework dosyć prostą implementację IoC. Oznacza to, że w wielu przypadkach nie trzeba już instalować zewnętrznych framework’ow takich jak AutoFac. W pliku Startup znajdziemy metodę ConfigureServices: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); ...
Sztuka programowania 3023 dni, 9 godzin, 53 minuty temu 283 źrodło rozwiń
Klasa (immutable) Tuple istniała aż od .NET Framework 4.0. W C# 7.0 mamy jednak wsparcie dla tuple od strony języka. Jednym z problemów klasy Tuple było, że każda właściwość nazywała się kolejno Item1, Item2 itp. W tym wpisie dowiemy się jak to rozwiązano w C# 7.0
Sztuka programowania 3023 dni, 9 godzin, 53 minuty temu 398 źrodło rozwiń
TestyPiotr Zieliński2 Comments O testach UI, szczególnie w SpecFlow pisałem już kilka razy. Zawsze korzystałem z wzorca PageObject, chociaż nie wiedziałem, że ma on swoją nazwę. Czasami mam wrażenie, że na proste rzeczy wymyśla się “wzorce”. Muszę przyznać jednak, że uproszcza to często komunikację między programistami. Wzorce w końcu stanowią pewnego rodzaju słownictwo dla programistów. Zamiast opisywać coś w kilku zdaniach, można powiedzieć po prostu nazwę wzorca. PageObject pattern polega na tym, ż...
Sztuka programowania 3045 dni, 9 godzin, 33 minuty temu 192 źrodło rozwiń
Zarówno o BDD, jak i TDD wiele razy już pisałem. Najważniejszą rzeczą w TDD jest sekwencja red-green-refactor. Zwykle BDD\TDD przybiera następującą postać: Zaczynamy od etapu BDD. Definiujemy wymagania za pomocą języka rozumianego zarówno przez programistów jak i jak BA\PO. Za pomocą Specflow możemy zdefiniować np. następujący test: Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then 120 sho...
Sztuka programowania 3045 dni, 9 godzin, 33 minuty temu 134 źrodło rozwiń
Ciekawa ikonografia na temat tego czym zajmują się deweloperzy na świecie - przegląd języków, etc.
ELMAH, czyli Error Logging Modules And Handlers (ELMAH) - jest to biblioteka/moduł dostępny za darmo służący do zarządzania oraz monitorowania błędów w oprogramowaniu. Moduł ten oparty jest na śledzeniu zdarzeń i można go podpiąć do istniejącej aplikacji bez zmiany ani jednej linii kodu (zmiany wykonujemy tylko w konfiguracji). Główne zadania ELMAH-a, to obsługa, zarządzanie, monitorowanie, eskalacja błędów, ze szczególnym uwzględnieniem błędów nieobsłużonych. Główne zalety/funkcjonalności ELMAHA: ...
Xamarin nie jest gwarantem trzykrotnie szybszego developmentu. Nie zachodzi tutaj żadna równość typu, że niezależnie ile platform docelowych będziemy chcieli obsłużyć, to w praktyce i tak piszemy jedną aplikację. Xamarin tak nie działa. Nawet w sytuacji gdy korzystamy z Formsów to i tak nie jesteśmy w stanie skrócić developmentu na inne platformy do zera. Na ten temat szerzej pisałem we wpisie w ubiegłym tygodniu.
Mobile development 3053 dni, 7 godzin, 26 minut temu 203 źrodło rozwiń
Dzisiaj napiszemy nasz pierwszy skrypt w Unity 3d. Najpierw dodajmy jakiś element na scene, który potem będziemy mogli obracać za pomocą skryptu. W tym celu z menu głównego wybieramy GameObject->3d Object-> Cube: Następnie w celu dodania skryptu klikamy na “Assets” w panelu “Project” i wybieramy Create->C# Script: Zanim przejdziemy do edycji skryptu, warto upewnić się, że Visual Studio jest skonfigurowany jako narzędzie do pisania kodu. W tym celu wchod...
Małżeństwo to nie taka prosta sprawa. Są różne i różnie się układają, różni ludzie się do tego mieszają czasem wychodzi to lepiej a czasem gorzej. Podobnie jest w programowaniu. Ostatnio musiałem ożenić IOC z Factory. Problem który się pojawił to tworzenie obiektu na podstawie jakiegoś tam parametru wejściowego, na początku miałem tylko jeden przypadek (np. RssChannel) i musiałem tylko ten przypadek obsługiwać, mogłem spokojnie wstrzyknąć handler i było cacy. Potem (w zasa...
Architektura 3053 dni, 7 godzin, 26 minut temu 213 źrodło rozwiń
Odcinek 36. to powrót do baz danych. Ale w innej odsłonie: tym razem poruszamy temat NoSQL. Głównie: Mongo, ale nie tylko. Goszczę Grzegorza Bernasia. To pasjonat przetwarzania danych, a jego celem jest nauka poprzez działania i rozwiązywanie problemów. Swój chłop, co nie? 😉 Znajdziecie go na Twitterze: @profesor79pl.
Bazy danych i XML 3072 dni, 5 godzin, 46 minut temu 51 źrodło rozwiń
Ostatnio musiałem odczytać współrzędne geograficzne na podstawie nazwy lokalizacji. Pierwszą opcją, którą sprawdziłem był pakiet “GoogleMaps.LocationServices”. Po instalacji NuGet, odczytanie współrzędnych było bardzo proste:
Programowanie rozproszone 3069 dni, 10 godzin, 55 minut temu 95 źrodło rozwiń
Kojarzycie Incepcję? Według mnie był to naprawdę dobry kawał kina - jedna z tych pozycji, o których mówimy i myślimy również po wyjściu z sali kinowej. Film na rynku polskim nazwano Incepcją, choć oryginalny tytuł brzmi Inception - zrobiono tutaj prostą kalkę językową zamiast zastosować właściwe tłumaczenie. W ten sposób dystrybutorzy filmu dodali do naszego codziennego słownika ten nieformalny zwrot (termin ten nie występuje w SJP - info na dzień pisania wpisu), który dla wielu osób oznacza "wielokrotne...
Według statystyk Google kariera Internet of Things (IoT) rozpoczęła się ok. 2013 roku. Obecnie jest to temat wciąż bardzo popularny, jednak niełatwo jest znaleźć informacje kompleksowo traktujące o systemach wykorzystujących technologie IoT do rozwiązania konkretnych potrzeb biznesowych. Ten wpis ma na celu przybliżenie technologii z obszaru IoT, które można wykorzystać do zbudowania i wdrożenia systemu produkcyjnego.
Pewnie podczas nauki programowania zastanawialiście się, jak to jest, że niektórzy piszą dobry kod, a innym wcale to nie wychodzi. A może nawet nie wiedzieliście do końca, czym jest dobry kod. A więc jak jest z tym tak naprawdę? Pisz dużo Po pierwsze: żeby pisać dobry kod, trzeba najpierw pisać kod. To stwierdzenie może wydać się mało śmiesznym żartem, ale wcale nim nie jest – najprostsze rozwiązania czasem są najlepsze. Żeby wyrobić w sobie umiejętności pro-kodera, trzeba ćwiczyć. I to całkiem sporo ć...
Sztuka programowania 3102 dni, 8 godzin, 44 minuty temu 405 źrodło rozwiń
Na zewnątrz gorąco, a tu kolejna porcja ciekawych programistycznych treści pcha się wprost w dev-uszy! W 34. odcinku eksplorujemy temat aktorów. Oskary rozdane, więc się spóźniliśmy, ale oczywiście przecież i tak o innych aktorów chodzi, prawda? Chodzi o Actor Model. Aktorów komentuje dla nas Bartosz Sypytkowski. Doskonale wie, o czym mówi, ponieważ jest jednym z corowych contrybutorów frameworka AKKA.NET (jak to ładnie po polsku brzmi 😉 ). Prowadzi też bloga (http://bartoszsypytkowski.com) i czasami w...
Sztuka programowania 3114 dni, 9 godzin, 3 minuty temu 48 źrodło rozwiń
Czołowi blogerzy .Netowi zajmują się obecnie nowościami, które można będzie spotkać w stabilnej wersji 7.0 języka C#. W praktyce jednak, nie każdy może tak łatwo brnąć do przodu i podejrzewam, że jest sporo deweloperów, którzy wciąż nawet nie spróbowali szóstki. Przyczyną tego stanu rzeczy najczęściej jest praca w firmie, która już jakiś czas funkcjonuje na rynku. W takiej sytuacji duży nacisk stawiamy na stabilność kodu, a każda nowa wersja czegokolwiek, stwarza potencjalne ryzyko błędu. Kompatybilny ws...
Sztuka programowania 3110 dni, 8 godzin, 7 minut temu 387 źrodło rozwiń