Wzorce projektowe: Singleton w Swift

Na temat Singletona chyba każdy ma swoje własne zdanie. Dla jednych jest ulubionym wzorcem, a dla innych Singleton jest przez wiele osób uznawany jako antypattern. Prawda jak zwykle leży pewnie gdzieś po środku i jeśli używamy tego wzorca z głową, to architektura aplikacji nie powinna na tym ucierpieć.

Opis wzorcahttp://pl.wikipedia.org/wiki/Singleton_(wzorzec_projektowy)

Czytaj dalej Wzorce projektowe: Singleton w Swift

Wzorce projektowe w Objective-C i Swift.

Ostatnio zastanawiałem się, co dobrego mógłbym napisać, co warte byłoby wrzucenia na tego bloga, co byłoby związane za aplikacjami mobilnymi (najchętniej platformą iOS), a jednocześnie, co dałoby komuś korzyść i ułatwiło naukę lub kodowanie w pracy. Temat wzorców projektowych chodził już za mną jakiś czas. Jednak myślę, że nie do końca najlepszym pomysłem jest tworzyć kolejne teksty na tematy, które wyczerpano już dawno temu bez pokrycia ich w praktyce. Kompletnego materiału po polsku, na temat wzorców obiektowych stworzonych w Objective-C i Swift nie znalazłem. Dlatego zapraszam na cykl artykułów, w którym przedstawię implementację wzorców projektowych w 2 językach: Objective-C oraz Swift.

Startując od przyszłego tygodnia, postaram się, aby posty z wzorcami będą pojawiać się cyklicznie co tydzień lub co dwa tygodnie. Jako podstawę, wykorzystam spis wzorców z Wikipedii. Dla każdego wzorca postaram się przygotować przykład kodu źródłowego, projekt Xcode do ściągnięcia oraz krótkie omówienie. Postaram się nie odkrywać koła na nowo i nie poświęcać opisowi wzorca zbyt wiele miejsca. Przynajmniej takie założenia mam do tej serii postów. Moim celem nie jest w tej serii dogłębne omówienie wzorców, ich poprawne zastosowanie czy też przypadki użycia. Chciałbym jedynie dostarczyć użytecznych przykładów implementacji wzorców projektowych w językach Swift i Objective-C.

Wszystkie posty opisujące wzorce trafią ostatecznie na tę stronę Wzorce projektowe w Objective-C i Swift – Kompendium , która zbierze i pogrupuje je w przejrzysty sposób.

Mam nadzieję, że podany materiał przyda Cię czegoś nauczy lub usystematyzuje to co już wiesz. Jeżeli wiesz więcej niż podałem w postach, to zapraszam do komentowania i rozszerzania podanych informacji. Zapraszam za tydzień na pierwszy post z tej serii.

Życzę udanych projektów i dobrego kodu!

Memory Leaks vs. ARC. Uważaj na retain cycles.

Nie znam osoby, której by nie ucieszyło wprowadzenie ARCa w 2011 roku przez Apple. Ułatwiło to znacząco tworzenie stabilnych pamięciowo aplikacji na iOS. Niestety nie zwolniło z myślenia i nadal można popełnić błędy, które doprowadzą do wycieków pamięci w aplikacji. Dziwne, prawda? A jednak to prawda. W tym poście pokażę na co trzeba uważać.

Czytaj dalej Memory Leaks vs. ARC. Uważaj na retain cycles.

Tworzenie aplikacji mobilnych – zbiór przydatnych materiałów.

Aplikacje mobilne to temat, którym żyję już ładnych parę lat. W ciągu ostatniego roku co raz częściej na blogu pojawiały się posty powiązane z tym zagadnieniem. Postaram się, aby w przyszłości również takich artykułów nie zabrakło. Ciężko mi zadeklarować jakieś konkrety, więc zobaczymy co przyniesie przyszłość.

Patrząc na aktualne wpisy i na moją listę przyszłych postów, postanowiłem stworzyć stronę zbierającą w jednym miejscu linki do tekstów z bloga poruszających tematykę aplikacji mobilnych.

Strona Jak stworzyć aplikację mobilną? zawiera linki do istniejących postów i ich krótkie opisy. W przyszłości, w miarę dodawania nowych tekstów, będę umieszczał tam również linki do tych nowych materiałów. Mam nadzieję, że taki zabieg ułatwi dostęp do przydatnych treści i chociaż trochę ułatwi Ci życie.

Strona ta nie będzie zawierać treści bardzo skonkretyzowanych, specyficznych dla niszowej platformy, lecz postaram się, aby były tam jedynie ogólne informacje, które można użyć przy tworzeniu większości aplikacji.

Pozdrawiam.

WebStorm i Sublime Text – dobre narzędzia do tworzenia hybrydowych aplikacji mobilnych.

W tym poście postaram się napisać o dwóch dobrych narzędzia, z których korzystałem w czasie tworzenia hybrydowych aplikacji mobilnych: WebStorm i Sublime Text.

WebStorm logo SublimeText Logo

Czytaj dalej WebStorm i Sublime Text — dobre narzędzia do tworzenia hybrydowych aplikacji mobilnych.

Debugowanie mobilnych aplikacji hybrydowych.

Programowanie aplikacji mobilnych jest bardzo ciekawą pracą. Tematyka tworzonych programów jest bardzo szeroka. Zawsze znajdzie się jakiś interesujący i innowacyjny projekt, który przynajmniej w teorii powinień komuś ułatwić pracę, albo dostarczyć rozrywki.

Programowanie jednak nieodzownie wiążę się z debugowaniem. Nie ma programu bez błędów, zwłaszcza w trakcie jego rozwijania. Aplikacje natywne debuguje się bardzo, bardzo prosto, tzn. bardzo prosto korzysta sie z dostępnych narzędzi, bo sam proces może być długi jeśli mamy akurat do czynienia z jakimś ciężkim problemem. Zarówno na platformie iOS jak i Android, wystarczy aplikację uruchomić w trybie debug i z łatwością możemy analizować działanie programu linijka po linijce. Z aplikacjami hybrydowymi nie jest już tak różowo. Dziś kilka słów na temat narzędzi, jakie są do dyspozycji programisty hybrydowych aplikacji mobilnych.

Czytaj dalej Debugowanie mobilnych aplikacji hybrydowych.

Tworzenie Aplikacji Mobilnych – Roadmap

Przed stworzeniem aplikacji mobilnej, należy podjąć szereg decyzji, które niosą ze sobą określone skutki. Na tym blogu starałem się przedstawić nieco informacji na temat tworzenia aplikacji mobilnych w taki sposób, by podjęcie niektórych decyzji było łatwiejsze. Chcąc zapoznać się z tymi artykułami polecam taką oto kolejność.

  1. HTML5, Aplikacja Natywna, czy Hybryda?
    W tym artykule: Tworzenie Aplikacji Mobilnych – 3 możliwości: HTML5, natywna, czy hybryda?, przedstawiam argumenty za i przeciw do każdej z opcji. W zależności od Twoich wymagań, budżetu potrzeb – wybierz właściwą dla siebie technologię.
  2. Sencha Touch to jeden z większych frameworków, który może służyć za podstawę aplikacji HTML5 lub hybrydowej.  W artykule:  Sencha Touch – hybrydowe aplikacje mobilne starałem się pokazać ideę frameworka, jego cechy szczególne i wyróżniające od innych bibliotek. Wspominam także o projekcie Cordova – który jest warstwą pośredniczącą między aplikacją HTML5 a rządzeniem mobilnym.
  3. Baza danych w aplikacji mobilnej jest komponentem wręcz niezbędnym. W tym poście: SmartStore – Mobilna baza danych na sterydach? Czy ciekawostka informatyczna? staram się przedstawić cechy charakterystyczne i możliwości Smartstore’a – czyli bazy danych NoSQL zaprojektowanej specjalnie na potrzeby aplikacji mobilnych biznesowych.
  4. W artykule iBeacons – informacja kontekstowa dla aplikacji mobilnych. opisuję jak naszej aplikacji możemy zapewnić informację na temat jej położenia (sąsiedztwa) przy pomocy iBeaconów. Wyjaśniam po krótce co to jest i jak działa.

Mam nadzieję, że dzięki powyższym artykułom poszerzyłeś swoją wiedzę i uświadomiłeś sobie coś, o czym do tej pory nie miałaś pojęcia. Chciałbym, abyś po lekturze tych tekstów był w stanie świadomie wybrać coś dla siebie, coś co odpowiada potrzebom Twoim  lub Twojego biznesu.

Jeżeli jest coś, czego nie wiesz, zapytaj w komentarzu. Jeśli jestem w stanie, to postaram Ci się jakoś pomóc, a przynajmniej nakierować.

 


A oto przydatne artykuły, które powstały już po publikacji tego posta:

  1. Debugowanie mobilnych aplikacji hybrydowych.