Wstęp

W drugiej części małego tutoriala postaram się opisać podstawy języka Objective-C, który jest głównym środowiskiem programowania na iPhonie. Apple wspierał wcześniej SDK dla Javy jednak zaprzestał na rzecz własnego języka. Nie jest to pewnie zaskoczenie, że forsują swoje rozwiązanie;)

Objective-C jest rozszerzeniem języka ANSI C o możliwości programowania obiektowego. Zatem dostajemy dziedziczenie, enkapsulacje czy polimorfizm. Symbole [] oraz @ są podstawą rozszerzenia Objective-C. Zmian jest trochę więcej ale o nich poniżej. Read More

W związku z premierą iPhone w Polsce chciałbym rozpocząć cykl postów z małym tutorialem do pisania programów na to urządzenie. Część rzeczy będę starał się tłumaczyć przez analogię do innych języków (w szczególności PHP). Zatem zaczynajmy. Read More

Ledwo ochłonęliśmy po premierze przeglądarki Chrome ze stajni Google, a tu kolejne premiery. Właśnie przedwczoraj developerzy Apple poinformowali o wypuszczeniu nowego silnika dla Javascriptu (SquirrelFish Extreme). Czytając o tym nasunęło mi się parę przemyśleń, którymi chciałbym się podzielić.

Konkurencja sprzyja rynkowi

Za sprawą rozwoju Aplikacji Webowych producenci przeglądarek zauważyli, że koniecznością staje się przyjrzenie się na nowo JavaScriptowi. Dostrzegli przesuwanie się ciężaru rynku z aplikacji desktopowych w stronę Webowych. Nie mogąc pozwolić sobie na utratę tego rynku, wzięli się jak jeden mąż do usprawniania swoich przeglądarek. Ja jako klient ich produktów mogę się tylko cieszyć. Aplikacje internetowe, które używam zbliżą się do swoich desktopowych pierwowzorów, mając dodatkowe zalety związane z mobilnością. Gmail, który będzie śmigał jak evolution to jest to na co czekam!

Lojalność użytkowników spada

Czasy, kiedy istniał tylko Internet Explorer i Netscape minęły bezpowrotnie. Użytkownicy są coraz bardziej świadomi, że jest coś oprócz niebieskiego „e”. Jak pokazują kolejne informację o udziale Chrome w rynku przywiązanie do jednej przeglądarki także staje się coraz luźniejsze. Firefox 1.0 zdobywał swój pierwszy procent przez o wiele dłuższy czas niż 10 godzin! I znów konkurencja musi mieć się na baczności, bo użytkownicy będą migrowali pomiędzy różnymi produktami. Będą przebierać jak na sklepowych półkach pomiędzy tym, co zaoferują producenci. Stąd prawdopodobnie tak ważne stało się dla koncernów by być na pierwszym miejscu w rankingach.

Albo standardy albo syzyfowa praca

Powstająca mnogość przeglądarek mnie jako web developera po trosze zasmuca. Jeżeli twórcy nie zapewnią działania swoich produktów zgodnie z przyjętymi standardami to będzie to jeden kogiel mogiel. Dostosowywanie aplikacji do 5 (albo i więcej w kombinacjach z różnymi systemami operacyjnymi) przeglądarek będzie wiązało się ze zwiększonym kosztem produkcji aplikacji. A tego chyba nikt sobie nie życzy, więc mój gorący apel o trzymanie się specyfikacji nawet kosztem wydajności. Pomimo, że specyfikacje są długie i nudne są tworzone dla dobra wspólnego.

Pamiętacie padający śnieg na stronie www?

JavaScript swoją po części złą sławę zyskał przez dodawanie takich wodotrysków jak padający śnieg na stronie www. Koszmar, prawie jak reklama rozwalająca cały układ strony. Było to jak mniemam wynikiem przekazania nowego narzędzia projektantom, którzy nie do końca mieli pomysł na wykorzystanie go. Stąd tak makabryczne zastosowania. Oby rozwijająca się technologia nie cofnęła nas w czasie. Budowanie strony przepełnionej wszystkimi możliwościami jakie daje JS nie jest tym czego oczekują użytkownicy. Obyśmy (programiści) zachowali umiar:)

Usprawnienia, ale jakim kosztem?

Całkowicie jestem za usprawnieniami, żeby nie było niejasności. Jednakże czy nie zakończą się one pewnymi efektami ubocznymi. Pisząc programy od jakiegoś czasu, jestem świadom, że większość ulepszeń można uzyskać poprzez większe wykorzystanie pamięci. Czy w takim razie przeglądarka nie stanie się „potworem”, dla którego wymagania będą zbliżone do ogromnych aplikacji. A może zamiast systemu będziemy uruchamiać tylko przeglądarkę? Prezentowane kolejne testy nie wskazują ile zasobów zabierają poszczególne silniki Javascriptu. Ten aspekt rozwoju JavaScriptu stanie się priorytetem w dalszej perspektywie.

Na blogu Google Operating System pojawiła się, krótka prezentacja pierwszego telefonu z androidem. Ostatnie informacje o gPhonie coraz bardziej skłaniają mnie do rozmyślań „Co wybrać gdybym chciał zmienić komórkę?”.  Ostatnie 2 lata zdecydowanie przyspieszyły rozwój smartphonów. Iphone swoim produktem wręcz wywołał wielki boom na „mobilność”.

I tak konsumenci będą mieli teraz wybór z trzech (no może 4 graczy jeżeli policzyć Nokię z  Symbianem OS) graczy na rynku. Jednakże jeżeli bliżej się przyjrzeć to widać, że u każdego z graczy można spodziewać się pewnych niedogodności lub ograniczeń. Choćby usuwanie niewygodnych aplikacji z App Store. Czy przypadek usunięcia konkurencyjnej aplikacji z powodu rzekomego powielania funkcjonalności iTunes(niestety nie mogę znaleźć teraz źródła tej informacji – dzięki komentarzowi znaleziony ;)). Także nie ma co się oszukiwać, że Apple nie będzie kontrolować tego co można, a co nie instalować na iPhonie.

Natomiast za działaniami Google musi się kryć ich odwieczny cel, czyli nowe miejsca na reklamy (robią to co prawda najmniej inwazyjnie z firm w internecie). Dlatego to, że zostaną wplecione w system jest raczej pewne, ale za to integracja z ich usługami będzie co najmniej dobra. Na jakość i konkurencyjność ich rozwiązań też raczej wielu nie będzie narzekać. Pozostaje w ich przypadku tylko kwestia – coraz częściej poruszana – kwestia prywatności. Ze śledzenia aktywności użytkowników gPhonów raczej nie zrezygnują choćby w podstawowym zakresie.

Ostatni gracz to Microsoft, który jest obecny od dawna na rynku. Oferując to samo co w komputerach PC zniechęca mnie już na starcie. Brak jakiegokolwiek wyboru aplikacji w prosty sposób a’la App Store. Trzeba już na starcie rozważyć instalację oprogramowania alternatywnego – co marnuje zasoby telefonu. Jestem jużtakże lekko uprzedzony do niepotrzebnego rozrostu ich aplikacji.

Za zwycięzce obecnie uważam iPhone. Za przemawia prostota, funkcjonalność (wifi, przeglądarka) coraz większy wybór aplikacji natywnych różnych dostawców. Jednakże od sukcesu marketingowego Google zależy jak będzie wyglądała przyszłość i atrakcyjność ich oferty. Jeżeli zostaną poparci przez firmy, które wyprodukują oprogramowanie na Androida, mogą stać się liderem, tudzież wspóliderem. Czas pokaże czy będzie to ich kolejny strzał w dziesiątkę czy klapa.

Na jednym z bardziej poczytnych blogów (Netto) pojawiła się akcja dzieleniem się pomysłami na startupy. I jak zwykle przy takich okazjach pojawiły się wyśmiewające całą ideę komentarze w stylu:

PROSZE O PUKNIĘCIE SIĘ W GŁOWĘ!!! Juz widze jak młodzi twórcy oddaja Panu swoje unikatowe pomysły!!! (Konkretny)

Które nic nie wnoszą do całego pomysłu, a tylko pokazują polską naturę. Jak zaznaczył autor na blogu ma to być to tylko zabawa. A jak ktoś ma pomysł, który może niekoniecznie chce realizować to czemu miałby go nie przedstawić szerszemu gronu. Poznanie opinii innych może pomóc w ruszeniu tematu.

A może znajdzie się osoba, której brakuje jakiejś usługi i chętnie by skorzystał z realizacji jego pomysłu. Nie trzeba od razu być malkontentem i negować każdą ideę. Gdyby nie dzielenie się wiedzą, gdzie teraz byłaby Wikipedia czy Open Source. Nie zawsze trzeba zarobić, żeby czerpać satysfakcję.

Dlatego z wielką uwagą będę przyglądał się rozwojowi tej akcji:)

Dropbox jest w zasadzie zwykłym dyskiem sieciowym umożliwiającym wysyłanie plików w sieć i współdzielenie je na różnych komputerach. Jednakże nie spotkałem się z tak prostym rozwiązaniem działającym na systemach Windows/Linux/Mac. Na każdym z nich instalacja jest banalna. Nie wiem czy nawet samouczek jest potrzebny. Ilość danych do wprowadzenia przy rejestracji jest mała. Po instalacji pojawia się ładna ikonka w pasku zadań:

Dropbox

Dropbox

Jedyne co pod linuxem jest dodatkowo wymagane to restart nautilusa(gnome): killall nautilus. Zaraz po tym mamy w pełni funkcjonalny dysk sieciowy, który jest zintegrowany z nautilusem.  Synchronizuje się z serwerem przy wszystkich zmianach w katalogu. Wszystko dokonuje się w tle z możliwością ograniczenia uploadu, by nie zabierać całego łącza.Interfejs webowy pozwala oglądać zdjęcia z katalogu na nie przeznaczonego jako galerie lub ściągnąć jako jedną paczkę zip. Świetne.

Tak prostego rozwiązania brakowało na rynku (ostatnio w pracy szukaliśmy czegoś takiego). Pojawiła się też koncepcja możliwości tagowania plików. Może teraz będę w mógł zrezygnować z Gmaila jako sposobu przenoszenia sobie plików w różne miejsca – praca, uczelnia, dom.

W najbliższym czasie planuje sprawdzić wrażliwość systemu na dziwne znaczki np. „ä” w różnych systemach. Czy poradzi sobie ? A druga sprawa jak radzi sobie z nie do końca synchronizowanymi katalogami?

Ostatnio prawie codziennie można usłyszeć o nowościach wypuszczanych przez Google poczynając od Google Chrome poprzez aktualizację picasy, czy kolejnych pluginach w Gmailu (wersja angielska) kończąc na stale rozwijanej wersji beta igoogle. Chociaż do stron spersonalizowanych to jeszcze jakoś się nie przyzwyczaiłem, ale może nowa wersja igoogle zmieni moje podejście.

Stąd pytanie do czego dąży Google?

Czy te wszystkie nowości są po drodze przystosowywane do wyświetlania na komórkach? A może wraz z nowymi wersjami budowane są także wersje mobilne tych, że usług. W końcu Google dawno już dostrzegł rynek komórek, bo kto jak nie najpopularniejsza wyszukiwarka powinna go dostrzec… To oni mają najwięcej statystyk wyświetleń stron na urządzenia mobilne, tym samym najbardziej miarodajne dane. W takim razie teraz czas na skomasowany atak giganta? Przypuszczam, że postanowili wprowadzić wszystkie swoje usługi na komórki. Wydaje się to być naturalną drogą w ich przypadku, a przy tym jakże skuteczną do zachowania obecnej dynamiki wzrostu przychodu z ich reklam.

O ile Gmaila można odbierać poprzez program desktopowy, nie oglądając reklam. O tyle na komórce większość skorzysta z dedykowanego rozwiązania Google, w którym gigant z Mountain View nie omieszka dodać reklam. I tu jestem ciekaw jak to zrobią by nie były one uciążliwe, a przy tym skuteczne dla reklamobiorców.

Ostatni czas jaki spędziłem przy tworzeniu oprogramowania na iphone pokazuje, że na tego typu urządzeniach nie ma wiele miejsca na umieszczenie dodatkowych informacji. Zatem jak będą wyglądało to wszystko okaże się już nie długo, bo jak mówią kolejne wiadomości może się to stać już 23 września.

P.S. Liczę, że Google i Apple rozruszają rynek komórek w Polsce. I jak się będę decydował na wymianę telefonu to będę mógł wybierać pomiędzy wieloma komórkami będącymi faktycznie smartphonami, a nie telefonem „tylko do dzwonienia”.

W zamiarach jest przeniesienie całej zawartości (wiele tego nie ma :D) z www.mm.pl/~kamilmaras na tego bloga, ale czy starczy mi chęci czas pokaże…

Póki co wprowadzam powoli relację z wyprawy rowerowej na Słowację. Jak skończę to nie omieszkam napisać o tym.

Póki co zachęcam osoby związane z trójmiastem – którym bliska jest idea Wikipedii – zainteresowaniem się projektem Wikimania 2010.

W tym roku w oprócz wyjazdu rowerem na słowację (relacja później) odpocząłem także w Egipcie cała relacja znajduje się w górnej zakładce Egipt 2008. Zapraszam do obejrzenia zdjęć zainteresowanych wyjazdem do Egiptu albo tych co chcą dowiedzieć się czegoś o tym kraju.