Tworzenie Aplikacji Mobilnych – 3 możliwości: HTML5, natywna, czy hybryda?

Tworząc aplikację mobilną musimy odpowiedzieć na wiele pytań: co ma robić?, jak ma wyglądać?, jak użytkownik ma się w niej poruszać, itp. itd.? Wśród tych pytań są również te związane z technologią. Teoretycznie wszystko niby jest proste Android to Java, iOS to Objective-C. Niestety kilka lat temu powstała idea aplikacji mobilnych opartych o HTML5. Trzeba przyznać, że trochę ta idea namieszała w porządku i nie da się koło tej opcji przejść obojętnie. Powiem więcej, trzeba przeanalizować i przekalkulować, czy jest sens wykorzystać to, co daje nam ta możliwość.

Aplikacja Mobilna: HTML5 czy natywna?

Czytaj dalej Tworzenie Aplikacji Mobilnych — 3 możliwości: HTML5, natywna, czy hybryda?

Objective-C – jakość kodu i coding guidelines.

Komercyjne projekty programistyczne realizowane w 1 osobę nie są czymś częstym w dzisiejszym świecie. Sporo klientów chce czegoś na wczoraj, w jak najlepszej jakości. Żeby dostarczyć dobrej jakości oprogramowanie, tworzone przez zespół, należy stosować wiele środków. Projekt musi na samym początku mieć dobrze zdefiniowane wymagania, musi być dobrze i w miarę szczegółowo zdefiniowany i zaplanowany. Na końcową jakość wpływ ma też bardzo wiele czynników. Dziś chciałem poruszyć 1 z nich: coding guidelines.

Czytaj dalej Objective-C — jakość kodu i coding guidelines.

NARC – jak zapamiętać kiedy robić release na obiekcie?

Zarządzanie pamięcią, to nie jest prosty temat. To obszar w którym należy poruszać się ostrożnie i z dokładną wiedzą. Jakiś czas temy wpadłem na ten wpis na StackOverflow. Zapraszam do przeczytania całego wątku – zajmie chwilę a przy okazji powtórzysz sobie niezwykle ważny obszar programowania. Dla leniwych przytoczę tutaj:

Pamięć w Objective-C należy zwalniać (wywołać metodę release na obiekcie) wtedy, jeśli nasz kod wykonał jedną z operacji NARC na obiekcie. NARC to skrót od metod: New, Alloc, Retain, Copy. Proste. Zapamiętaj i używaj 🙂

Zapraszam także na stronę gdzie zebrałem więcej informacji nt zarządzania pamięcią w Objective-C i nie tylko.

Cider – jak uruchomić aplikację iOS na Androidzie.

Niedawno światło dzienne ujrzał projekt studentów z Columbia University, który umożliwia uruchamianie natywnych aplikacji iOS na systemie Android! Bardzo ciekawy temat. Czyżby kończył się czas pisania aplikacji na 2 platformy, a w niedalekiej przyszłości wystarczy napisać aplikację na iOS a użytkownicy Androida będą mogli ją używać bez większych problemów?

Czytaj dalej Cider — jak uruchomić aplikację iOS na Androidzie.

Backup Mac OS. Jak skopiować ręcznie ważne pliki przed reinstalacją systemu.

Dla zmieniających komputer na nowszy, dla tych co chcą przeinstalować system i dla wszystkich innych, którzy po prostu chcą wiedzieć: Oto link pokazujący, gdzie leżą najważniejsze dane na naszym Macu, których backup warto zrobić: http://support.apple.com/kb/ph10941

Tak, znam Migration Assistant i zdarzyło mi się z niego korzystać. Przesiadka na nowy komputer jest wtedy prawie całkowicie bezbolesna. No właśnie: prawie. Sporym minusem takiego rozwiązania jest to, że przesiadka na nowy komputer to dobry powód na małe porządki 🙂 kopiując wszystko ze starego, przenosimy na nowy komputer wszystkie śmieci. Przeprowadzając ten proces ręcznie, mamy szansę na przynajmniej częściową kontrolę.

Time Machine robi to samo. przywracając dane z dysku z kopią zapasową, przywracamy cały śmietnik.

Znając powyższe możliwości – wybierz sam, czy chcesz wykorzystać reinstalację systemu/przenosiny na nowy komputer i zrobić porządki, czy zaoszczędzić czas i użyć gotowych i sprawdzonych rozwiązań.

NSPredicate w pigułce.

Dziś notka mega krótka. Po prostu, chcę polecić coś, co wg mnie jest dobrze i treściwie napisane. Dla tych, którzy poszukują zwięzłej informacji na temat NSPredicate i możliwości tej klasy, serdecznie polecam stronę: http://nshipster.com/nspredicate/ Oczywiście nie jest to wszystko co o NSPRedicate wiedzieć trzeba, ale to niezbędne minimum obrazujące możliwości. A jeżeli masz więcej czasu, polecam zapoznanie się z tym wpisem: Filtrowanie tablicy w Objective-C. Porównanie prędkości 4 metod.  Znajdziesz tam informację o tym, jak wydajne jest NSPredicate do przeszukiwania tablicy rekordów w porównaniu do trzech innych metod. Wynik może być zaskakujący i warto być świadomym co i dlaczego i jak długo się wykonuje.

Filtrowanie tablicy w Objective-C. Porównanie prędkości 4 metod.

W wielu aplikacjach mobilnych istnieje potrzeba przeszukania tablicy z danymi i wybrania pewnego zbioru spełniającego zdefiniwoane kryteria. W języku Objective-C na iOS SDK mamy do dyspozycji kilka różnych metod, aby osiągnąć ten cel. Ich rezultat jest identyczny, różnica (zasadnicza) polega na prędkości działania tych metod. Tworząc kod w odpowiedni sposób, możemy osiągnąć wynik ponad 2 razy szybciej niż w przypadku najwolniejszej metody.  Zapraszam do zapoznania się ze szczegółami.

Czytaj dalej Filtrowanie tablicy w Objective-C. Porównanie prędkości 4 metod.

Postgresapp.com – prosty sposób na PostgreSQL na Mac OS X.

Ostatnio natknąłem się na coś ciekawego dla Mac OS X. Osoby, które potrzebują uruchomić bazę PostgreSQL na swoim Macu i nie chcą instalować „rożnych dziwnych rzeczy” powstała aplikacja Postgres.app – baza danych w jednej aplikacji, bez nadmiernej integracji z Mac OS X.

Postgres.app

Czytaj dalej Postgresapp.com — prosty sposób na PostgreSQL na Mac OS X.

Redmine – usługi hostingowe.

Dziś chciałem przedstawić kilka serwisów, które dostarczają hosting Redmine’a dla nas. Innymi słowy: Redmine działa sobie w chmurze (słowo klucz tak popularne ostatnio) a my możemy z niego korzystać. Część z propozycji jest darmowych, część płatnych. Zalety i wady koażdego rozwiązań pozostawiam już Wam.  Na temat samego Redmine’a pisałem już tutaj: Redmine – najlepszy darmowy system www zarządzania projektem, dlatego dziś krótko i treściwie: jedynie linki do serwisów.

Czytaj dalej Redmine — usługi hostingowe.