Zaktualizowałem wiki o kilka ciekawych działów

Dzisiaj zabrałem się za porządkowanie mojej wiki, która jest dla mnie najlepszym sposób kolekcjonowania informacji.
Wiki znajdziecie pod adresem wiki.widmogrod.info.

Tak „biblioteka wiedzy” wzbogaciła się m.in. w:

Jak by ktoś z was był zainteresowany różnego rodzaju dodatkowymi informacjami o Cappuccino Framework i społeczności wokuł niego to zapraszam do działu Szkice i różne materiały dodatkowe o Cappuccino Framework.

Z działu programowanie najbardziej podoba mi się ciekawy wzorzec projektowy Circuit Breaker.
Umieściłem w tym dziale link do artykułu, który zawiera  POC implementacji go w Zend Framework.

Natomiast w dziale JavaScript podoba mi się nowy język programowania, który jest kompilowany do JavaScript – CoffeeScript.

To tyle, pozdrawiam!

Motorola kupiła 280 North za 20 milionów dolarów

Motorola kupiła firmę 280 North, która jest  twórcą i pomysłodawcą języka programowania Objective-J i opartego na nim frameworka aplikacji internetowych Cappuccino Framework .

Jak podaje Techcrunch nie wydano jeszcze oficjalnego oświadczenia, jednak na grupie dyskusyjnej dowiadujemy się że jest tworzona nowa strona projektu i niebawem poznamy oficjalne stanowisko w tej kwestii. Czekam z niecierpliwością :)

280 North jest odpowiedzialny za rozwój:

  • 280slides – narzędzie do tworzenia i dzielenie się prezentacjami on-line.
  • 280atlas – narzędzie bardzo podobne do Xcode

Dla zainteresowanych tematem:

Zapraszam również do Polskiej Wiki poświęconej Cappucino i Objective-J.

NativeHost: Uruchom aplikację Cappuccino jako aplikację desktopową

Zespół Cappuccino Framework upublicznił nowe, ekscytujące, narzędzie NativeHost.

Czym jest NativeHost?

Jest to narzędzie umożliwiające uruchomienie aplikacji internetowej napisanej przy użyciu Cappuccino (i nie tylko) jako aplikacji desktopowej. Rozwiązanie polega na wykorzystaniu niesamowicie lekkiego i małego wrappera wokół silnika przeglądarki internetowej WebKit. Rozwiązanie jest zbliżone do istniejących technologii np. Adobe AIR, Titanium, ale na tym podobieństwa się kończą.

Jaka jest różnica NativHost od Titanium, Adobe AIR ?

Titanium i Adobe AIR posiadają własne API umożliwiajce pisanie aplikacji desktowpowych za pomocą technologi webowych ale nie pozwalają przenieść istniejące aplikacji internetowej by działała jako aplikacja natywna. Na tym polega główna różnica pomiędzy w/w technologiami a NativeHost. NativHost umożliwia przeniesienie istniejącej aplikacji webowej na system operacyjny komputera (na chwilę obecną tylko Mac OS X) bez potrzeby modyfikacji aplikacji!

Dodatkowo Cappuccino jest bardzo silnie powiązane z NativeHost dzięki czemu udało się osiągnąć:

  • Główne menu Cappuccino automatycznie staje się natywnym paskiem menu w  Mac OS X. Na innych platformach będzie dokładnie działać tak jak będą oczekiwać tego użytkownicy. Dla przykładu, w Windowsowej wersji NativeHost menu będzie przywiązane do każdego okna.
  • Okno Cappuccino (CPWindow) automatycznie stanie się „natywnym” oknem. W przeglądarce internetowej okna Cappuccino są standardowo rysowane w środku głównego okna przeglądarki. W NativeHost staną się one w pełni systemowymi oknami, które  będzie można minimalizować itp.
  • Bezpieczny dostęp do natywnego systemu plików bez natywnego API: wykorzystanie istniejących metod jak XMLHttpRequest.
  • Architektura dokumentu Cappuccino jest zintegrowana z systemem operacyjnym.
  • Są używane systemowe operacyjne okna otwórz/zapisz.
  • Tak jak każda natywna aplikacja Twoja aplikacja może przypisać się do otwierania specyficznego typu pliku. Kiedy system operacyjny zażąda by Twoja aplikacja otwarła dokument ta informacja jest przekazywana do Cappuccino aby Twoja aplikacja to przechywciła i obsłużyła.

Dlaczego instalować aplikacje webowe na desktopie?

Istnieje kilka przypadków, w których przeniesienie aplikacji internetowej na komputer stacjonarny może mieć sens:

  • Kiedy Twoja aplikacja wymaga dostępu do lokalnego systemu plików lub innego natywnego API nie dostępnego z poziomu przeglądarki internetowej.
  • Kiedy jest wymagane dostęp offline.
  • Kiedy użytkownicy Twojej aplikacji nie ufają jeszcze chmurze (cloud).
  • Kiedy chcesz integracji z systemem operacyjnym np. pasek zadań, dock, przełącznik aplikacji itp.

Przykłady aplikacji wykorzystujących NativHost

Upublicznienie NativHost przyniosło ze sobą kilka działających aplikacji:

  • Atlas – czyli zintegrowane środowisko programistyczne dla Cappuccino Framework, Objective-J zawierające w sobie narzędzie do budowania interfejsu podobne do Xcode.
  • Github Issues – działa w wersji dla przeglądarki ale można go również pobrać jako aplikacje na Mac OS X.
  • CappKiDo – jest to przeglądarka API dokumentacji Cappuccino – i jest tym samym co AppKiDo dla Cocoa!

Zapraszam do oficjalnej informacji na stronie głównej Cappucino.org i do strony projektu na github.com.

Gianduia – konkurencją Cappuccino i SproutCore?

Na grupie dyskusyjnej Cappuccino Framework został poruszony temat Gianduia„nowego” produktu od Apple.

W odpowiedzi jeden z użytkowników napisał ciekawy list czym może być Gianduia.
Poniżej przedstawiam polskie tłumaczenie a zainteresowanych całą dyskusją zapraszam do całości wątku.

Witam wszystkich, pierwszy post na liście.
Nie tak dawno byłem programistą WebObjects, więc możliwe że mogę rzucić delikatne światło na to…

Nie byłbym zaskoczony gdyby Gianduia została wypuszczona. Apple całkiem niedawno zatrudniło lead dewelopera na defakto-standard open-source WebObject toolchain (nie wiem jak dokładnie przetłumaczyć, zatem zostawiam oryginał) i większy zestaw otwarto źródłowego frameworku WebObjects (ta sama osoba). Używają WebObjects mocno dla wielu masywnych systemów strategicznych takich jak iTunes Store i Apple Store (online i w handlu detalicznym)… WO wspierają tworzenie interfejsu użytkownika.. połączenie z Cappuccino/SproutCore w zasadniczo nie istnieje, więc nie jest naginane by myśleć że chcą wyprodukować Cappuccino-podobne UI i również ładnie połączone z ich istniejącym kodem.

Widziałem wzmianki o Apple że jest możliwość  użycia Gianduia do iAd i że zdecydowanie jest już w publicznym użyciu przez Apple w sklepie detalicznym rezerwacji iPhona.

Wątpię, że Apple mierzy w Flash – Gianduią, ale jeżeli ludzie chcą tak myśleć to nie wydaje mi się że Apple będzie miało coś przeciwko (dopóki oczywiście jest to tylko framework WebObject  stworzony do działania po stronie klienta zamiast po stronie serwera i że nie jest niczym takim jak Flash).

Rozważając jak długo Apple pracowało nad tym, przypuszczam że jest możliwe iż mogli zdecydować się by pójść w stronę Flash, który w tym samym czasie zaczyna stawać się frameworkiem aplikacji webowych.

Jeżeli chcesz się dowiedzieć czym była Gianduia rok temu możesz kupić wideo WOWODC West 2009. Powiedziano mi że mowa o Gianduii jest częścią tej paczki. Nie widziałem tego więc nie mogę komentować.

Jim

Całość prezentuje tajemniczo.

Ciekawi mnie czy Gianduia może być czymś takim jak GWT? Skoro i WebObjects oparte jest na Javie. Jeśli nie, to po co Apple wypuszczało by kolejny framework…? „ma” już potężny framework SproutCore, na którym zostało oparte me.com.

Pozostaje czekać.. niebawem wszystko będzie jasne czy będzie czymś konkurencyjnym dla Cappuccino i innych frameworków aplikacji webowych.

PS. Jeszcze link do grupy dyskusyjnej Apple:  http://lists.apple.com/archives/Webobjects-dev/2009/Nov/msg00296.html

Raphuccino – Cappuccino + RaphaëlJS

Raphaël to mała biblioteka JavaScript, której celem jest uproszczenie pracy z grafiką wektorową w sieci. Jeżeli chcesz stworzyć własny wykres, narzędzie do przycinania, obracania grafiki,… możesz to wszystko osiągnąć za pomocą tej biblioteki.

Raphaël uzywa SVG W3C Recommendation  i VML jako podstawe do tworzenia grafik. Oznacza to że każdy obiekt graficzny tworzy również obiekt DOM, zatem można dopiąć do niego zdarzenia JavaScript.

Raphuccino łączy moc i potencjał RaphaëlJS z Objective-J dając Cappuccino Framework wspaniałą bibliotekę do tworzenia grafiki wektorowej.

Cappuccino Framework posiada implementację elementu canvas, jednak w porównaniu do możliwości SVG jest to tylko „prosta” funkcjonalność ;)

Zapraszam do obejrzenia możliwościami Raphuccino.

Wireframes on the fly – czyli Mockingbird z kolaboracją za pomocą Node.js + WebSockets

Mockingbird – jest świetnym darmowym online’nowym narzędziem do tworzenia szkieletów interfejsów (wireframes). Całość działa z poziomu przeglądarki internetowej (projekt jest napisany w Cappuccino Framework, i rzeczywiście wygląda jak aplikacja okienkowa przeniesiona do internetu!)

Mockingbird, pozwala na wiele form dzielenia się projektami.. niestety jeszcze nie posada możliwości współpracy nad jednym szkicem przez więcej niż jedną osobę ale to ma się zmienić!

Saikat Chakrabarti współzałożyciel Mockingbird opisał na swoim blogu w jaki sposób wykorzystał narzędzia Cappuccino + Node.js + WebSockets i stworzył bardzo proste narzędzie umożliwiające kolaborację.

Efekty pracy można zobaczyć na poniższym filmiku:

Być może w zbliżony sposób ta funkcjonalność zostanie wbudowana w nową odsłonę Mockingbird.

Jakie są plany na przyszłość Cappuccino Framework

Rozwój SproutCore jest bardzo stymulujące dla zespołu 280North zajmującego się rozwojem Cappuccino Framework i narzędzi mu towarzyszących np. Atlas.

Zespół SC oprócz wydania narzędzia do tworzenia interfejsu graficznego Greenhouse dodał możliwość wykorzystania dobrodziejstw dotykowych ekranów.

Jakie są plany na przyszłość rozwoju Cappuccino Framework?

Lepsza wydajność, a w tym:

  • zmniejszenie rozmiaru frameworka
  • zmniejszenie czasu ładowania aplikacji
  • optymalizacja czasu renderowania jedno milionowej tabeli oraz test jej przewijania
  • wydajność KVO

Mobilność – dostosowanie Cappuccino do aplikacji mobilnych (iPhone, iPad, Android) czyli nowe możliwości touch screen

Lepsze wsparcie dla motywów – wsparcie dla CSS i generalnie prostszy sposób do składania motywów w całość

Zbudowanie pozostałych widżetów Aristo – color picker, stepper view, calendar, tabs, itd…

Dokumentacja – niestety obecna forma nie jest najlepsza. Francisko Tomalsky na konferencji JSConf wspominał że pracują nad nowym narzędziem do dostarczenia dokumentacji.

Bindings support.

TextView – lepsze wpsparcie dla tekstu – niestety w obecnej formie nie jest to tak wygodne.

CoreData/LocalStorage – wykorzystanie możliwości HTML5

Kompleksowe testy.

Dodatkowo cały zespół pracuje nad nowymi narzędziami dla Cappuccino, mają to być min. narzędzia do testowania itp.

Dla zainteresowanych więcej informacji można znaleźć tutaj.