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.

System szablonów, który „sam dba” o aktualizację cache plików CSS i JavaScript

W dniu dzisiejszym postanowiłem zaimplementować pewną nowa funkcjonalność w systemie szablonów.

Dodana została możliwość sprawdzanie czasu modyfikacji pliku CSS i JavaScript. Czas ostatniej modyfikacji pliku jest teraz doklejany do nazwy pliku jako parametr GET.

Dla przykładu, nazwa pliku przed:

plik.css

i nazwa pliku po:

plik.css?s=123123123

Co dzięki temu zyskałem?

  • jestem zwolniony z ciągłego czyszczenia cache przeglądarki po dokonaniu zmian w plikach CSS lub JavaScript
  • zmiany wizualne i funkcjonalne na stronie są widoczne natychmiastowo po ich wprowadzeniu

Jaki to ma wpływ na wydajność?

Z przeprowadzonych testów wywoływanie funkcji filectime(); w pętli 100 razy trwało ~0.0001. W najgorszym z przypadków w projekcie wykorzystuję 10 plików CSS i 5 JavaScript, w których dokonuje zmian, zatem czas generowania strony wzrośnie niezauważalnie.

Jakie pomysły na przyszłość?

Jako że konfigurację szablonu przechowuję w zewnętrznym pliku konfiguracyjnym, daje mi to możliwość napisanie narzędzia, które będzie łączyć pliki CSS i JavaScript w jeden plik globalny. Zatem czas wczytywania strony WWW (w najgorszym z przypadków)  wzrośnie znacząco :) .

PS. Wiem że mogę w/w czynności mogę wykonywać ręcznie (i teraz tak robię) ale z odpowiednim skryptem jest o wiele szybciej i przyjemniej!

EDIT: Dzięki ^brand zmodyfikowałem testy o wywołanie funkcji clearstatcache() i wydajność delikatnie spadła ale nadal jest to poziom akceptowalny.

Zakladki z innego komutera – Mozilla Weave

Nadejście „chmury” w internecie.. spowodowało że coraz więcej programów oferuje tzw. zdalna synchronizację danych.

Jednym z takich programów jest Firefox z dodatkiem weave . Korzystam z tego plug-in’u już od ponad roku i teraz instaluje go zaraz po zainstalowaniu „na świeżo” Firefox’a. Dodatek ten umożliwia synchronizacje zakładek, zapamiętanych haseł… itd. Całość jest zaszyfrowana i przechowywane w chmurze.

Niedawno zauważyłem nowy – a niesamowicie przydatny – element,  który się pojawił w tym dodatku a mianowicie „zakladki z innego komutera” (Tabs From Other Commputer). Teraz z komputera biurowego mogę przeglądać otwarte zakładki na komputerze w domu!.. mam tą stronę otwartą na innym komputerze.

Jak dla mnie jest to dodatek który odciążył mnie od „.. jak to szło… coś… .com lub .pl ??” lub „gdzie ja to znalazłem”.

Polecam: Mozilla Weave