Artykuły dla kategorii Start

freeimages.com
sie 23 2016
0

Autofac w Xamarin.Forms

Mechanizm DependencyService zaprezentowany w poprzednim wpisie, daje sporo możliwości już na starcie pracy z Xamarin.Forms. Dzięki zastosowaniu specjalnego atrybutu, możemy korzystać z funkcjonalności opisanych w paradygmacie IoC praktycznie bez żadnego wysiłku i mamy ten mechanizm dostępny out-of-the-box.

Prostota rozwiązania niesie za sobą też pewne skutki uboczne. Mechanizm jest niezwykle łatwy w użyciu, ale zarazem bardzo ograniczony funkcjonalnie. Jeśli kiedykolwiek pracowaliście z kontenerami IoC typu Autofac, czy Ninject, to szybko przekonacie się, że DependencyService tak naprawdę oferuje nie wiele.

Nie możemy w prosty sposób określić czy usługa ma być rejestrowana jako pojedyncza instancja, na żądanie, czy może też ma zawsze zwracać ten sam obiekt w określonym obszarze aplikacji. Nie mówię już tutaj również o bardziej złożonych operacjach, typu rejestracja usługi ze zdefiniowanymi wartościami parametrów itp. itd.

Czy zatem warto korzystać ze standardowego rozwiązania? Być może w prostych aplikacjach może i tak, ale ogólnie zachęcam do wyboru bardziej zaawansowanych bibliotek. Na szczęście takowe można bardzo łatwo podpiąć do Xamarin.Forms:-)

freeimages.com
sie 14 2016
0

DependencyService w Xamarin.Forms

Xamarin.Forms to rozwiązanie multiplatformowe, dlatego też musi ono posiadać narzędzia, które ułatwiają development na kilka różnych systemów jednocześnie. We wcześniejszych tekstach poruszyłem już kilka zagadnień z tego zakresu, a były to m.in.:

Twórcy Xamarina przygotowali jednak znacznie większą paletę rozwiązań z których możemy skorzystać na co dzień. Do tych najważniejszych oprócz powyższych, zaliczyłbym jeszcze:

  • Wbudowany w system mechanizm DependencyService
  • Efekty
  • Statyczną klasę Device

W kolejnych wpisach postaram się nadrobić zaległości w tym temacie. Dziś zacznę od wbudowanej w Xamarin.Forms klasy DependencyService.

freeimages.com
sie 07 2016
0

CustomRenderer w Xamarin.Forms

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. Formsowy Label, w Windows tłumaczony jest na TextBlocka, a w Androidzie na TextView.

Na szczęście, tak jak napisałem we wprowadzeniu, do Formsów możemy łatwo dokładać elementy natywne w prosty sposób mieszając oba podejścia. Poza tym istnieją rozwiązania wbudowane w technologię, które cały ten proces w znaczący sposób ułatwiają. Jedną z takich opcji, są tytułowe Custom renderery.

freeimages.com
lip 21 2016
0

WydatkoNotes jako przykład aplikacji napisanej w Xamarin.Forms

Od jakiegoś czasu, dość intensywnie zajmuje się Xamarinem, a ściślej jego mutacją Forms, która pozwala na szybsze tworzenie jednej aplikacji na kilka systemów. Jest to z pewnością narzędzie godne uwagi, ponieważ niesie ze sobą spore możliwości.

Niestety przeglądając zasoby sklepów mobilnych, trudno znaleźć informację w jaki sposób były tworzone umieszczone w nich aplikacje. Dlatego też nie ukrywam, że ucieszyła mnie informacja o możliwości recenzowania aplikacji napisanej w technologii, która obecnie stała mi się bardzo bliska i która po przejęciu przez Microsoft, ma szansę nabrać wiatru w żagle.

Zapraszam do recenzji aplikacji WydatkoNotes w wersji na Androida.

freeimages.com
lip 18 2016
0

Xamarin.Forms - pierwsza aplikacja

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ą reużywalność kodu kosztem elementów specyficznych dla wspieranych platform. Podejście native z kolei, pozwala na tworzenie layoutów z użyciem elementów i technologii charakterystycznych dla wspieranych platform, co oczywiście wiąże się z większym nakładem kosztów. Wybór więc tak naprawdę zależy od potrzeb.

Warto jednak dodać, że wybór podejścia Forms niekoniecznie oznacza całkowite odcięcie od podejścia native. Oba rozwiązania można mieszać, z tym że w praktyce lepiej funkcjonują wstawki native w części Forms aniżeli odwrotnie. Z tego też powodu w dzisiejszym tekście skupimy się na podejściu opartym o formatki.

freeimages.com
lip 08 2016
0

Automate - nowy król automatyzacji na Androida?

Blisko 5 lat temu popełniłem mój pierwszy tekst na temat Taskera. Od tego czasu z aplikacji korzystałem praktycznie codziennie i była ona stałym bywalcem wszystkich moich urządzeń z Androidem. Tasker to świetne narzędzie, które przy pewnym wkładzie początkowym, po prostu działa i ułatwia nasze życie. Program niestety od zawsze miał dwa poważne problemy, które zniechęcały do niego wielu użytkowników.

Po pierwsze była to cena, która cały czas oscyluje w granicy 20 zł, a po drugie złożoność. Dla przeciętnego Kowalskiego ten program był po prostu zbyt skomplikowany.

Dla mnie przez pracę w IT, ten drugi argument nie był argumentem na nie, a i pierwszy przestał być problemem, w momencie gdy poznałem dostępne funkcjonalności tego kombajnu.

Piękna sielanka trwała blisko 5 lat i tak naprawdę zepsuła ją dopiero wymiana telefonu na nowszy...

freeimages.com
cze 28 2016
0

Xamarin - wprowadzenie teoretyczne

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.

Czy zatem warto się w ogóle zainteresować tą technologią? Czy oferuje ona jakieś sensowne benefity? Na jakim systemie możemy programować? Jak to wszystko w praktyce działa? Na te i inne odpowiedzi postaram się odpowiedzieć w dzisiejszym tekście, który jest swego rodzaju wprowadzeniem do tej technologii na łamach mojego bloga.

xamarin.com
cze 26 2016
0

Xamarin - nie myśl że zrobisz z nim projekt 3 razy szybciej

Rynek aplikacji mobilnych wciąż ma się świetnie, mimo że na horyzoncie pojawia się silna konkurencja, która byłaby w stanie rozwiązać część problemów związanych z developmentem aplikacji mobilnych. Chodzi mi oczywiście o responsywne strony WWW, które w dzisiejszych czasach są już standardem. Z każdym tygodniem wzrasta wsparcie dla standardów webowych w mobilnych przeglądarkach, dlatego też możliwości programistów są w tym obszarze coraz większe.

Rozwój mobilnych stron nie jest jednak jeszcze w tej chwili problemem dla deweloperów aplikacji. Ci póki co wciąż mogą spać spokojnie. Strony WWW nie mają dostępu do wielu istotnych API po stronie urządzenia. Poza tym dedykowane aplikacje wciąż są lepiej dopasowane do realiów poszczególnych systemów.

Oczywiście aplikacje mobilne mają swoją problemy. Przede wszystkim trzeba ich napisać tyle, ile systemów mobilnych chcemy obsługiwać. Ma to oczywiście wpływ na czas oraz koszta. Musimy posiadać programistów specjalizujących się w technologi dedykowanej platformy mobilnej. Ale czy na pewno?

Można się skusić na tzw. rozwiązania cross-platformowe, czyli np. na tytułowego Xamarina. Ale czy wybór takiej technologii na pewno pozwoli na skrócenie czasu projektu x razy?

freeimages.com
cze 20 2016
0

Keepass2Android - nieoficjalny klient Keepassa na Androida

Nie ma chyba tygodnia, w którym nie byłoby słychać o wycieku danych. Problem ten dotyka nawet największych. Ostatnio słychać było choćby o problemie wycieku haseł, który dotknął LinkedIn. W takiej sytuacji, istotnym jest by stosować odpowiednią politykę haseł. Nie powinniśmy używać dwa razy takiego samego zabezpieczenia. Szczególną troską powinniśmy otoczyć konta pocztowe, usługi operujące naszymi finansami oraz serwisy społecznościowe. Jak w takiej sytuacji ogarnąć przynajmniej kilkanaście-kilkadziesiąt różnych haseł? Czy da się je wszystkie zapamiętać?

Być może i tak.. ale lepiej w tej sytuacji wspomóc się pamięcią zewnętrzną. Może to być np. aplikacja mobilna Keepass2Android, która jest w stanie ogarnąć bez zająknięcia dowolną liczbę haseł;-)

freeimages.com
cze 12 2016
0

NuGet w NuGecie - czyli mała incepcja

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 zagłębienie.

Termin incepcja odrobinę pasuje do tego, o czym chciałbym napisać w dzisiejszym wpisie. Zademonstruję Wam bibliotekę do programowej obsługi NuGeta, którą można sciągnąć jako paczkę NuGetową;-)