Archive for the ‘web’ Category

Google Developer Day 2011 na gorąco

20 listopada 2011

W sobotę, 19 listopada 2011, byłem na konferencji Google Developer Day 2011 w Berlinie.

Wstęp

Było warto pojechać, choć dowiedziałem się mniej niż rok wcześniej w Monachium na GDD 2010.

Wykład otwierający rozpoczął się powitaniem deweloperów oraz prezentacją berlińskich uczelni (współorganizatorów GDD).

Potem nastąpiła seria prezentacji nt. nowości od Google (Android 4.0, nowości w GAE, nowe API).

Poniżej krótkie podsumowanie sesji które widziałem (i jednej której nie było).

Making Your Web Apps Accessible Using HTML5 and ChromeVox

Mike opowiadał o tworzeniu stron i aplikacji webowych dostępnych dla osób z upośledzeniami (niewidomych, z ograniczonym widzeniem i takich które z różnych powodów nie mogą korzystać z myszki).

Wszystko ilustrował przykładami z użyciem wbudowanego w Google Chrome screen readera Chrome Vox.

Parę zanotowanych myśli:

  1. Jeżeli używasz tabel to jesteś na złej konferencji.
  2. Bądź leniwy – użyj właściwych elementów.
  3. Użyj ARIA rules jeżeli potrzebujesz.
  4. Pierwszy krok ku testom dostępności – odłącz mysz i sprawdź, czy możesz nadal pracować.
  5. Zapewnij nawigację klawiaturą.

Dla zainteresowanych — slajdy użyte podczas prezentacji.

Google App Engine Overview & Update

Sesja poświęcona była Google App Engine (GAE) – platformie oferowanej przez Google do uruchamiania własnych aplikacji napisanych z wykorzystaniem Pythona, Javy lub Go.

Parę zanotowanych myśli:

  1. Google dostarcza plugin do Eclipse. Istnieje też wsparcie dla NetBeans i Idea.
  2. GAE oferuje możliwość cofnięcia wersji dostępnej produkcyjnie od poprzedniej wersji (a nawet do 10 wersji w wstecz).
  3. Z GAE można uruchamiać aplikacje Django.
  4. Aplikacje używające ORM Django lub standardów JDO/JPA mogą działać zarówno na GAE jak i w innym środowisku (czyli można je łatwo wycofać z GAE).
  5. Chcesz płacić mniej – zoptymalizuj swoją aplikację.

Slajdy które widziałem były bardzo podobne do tych dostępnych tutaj.

Sam w ramach ostrzenia mojej piły tworzę aplikację ebook deals for developers. Środowisko jej miłe w obsłudze, można się wiele nauczyć i łatwo udostępnić aplikację bez ponoszenia kosztów hostowania aplikacji.

Bleeding Edge HTML5

Sesja była poświęcona ,,najnowszym nowościom’’ w Google Chrome.

Było parę fajnych demo, gorzej z praktycznym wykorzystaniem pokazanych nowości, bo są one dostępne właściwie tylko w Google Chrome :(.

Za to obiecująco wyglądają web intents.

Slajdy użyte podczas sesji Bleeding Edge HTML5.

Trzy kolejne sesje

Sesja Go on App Engine nie odbyła się (prowadzący po krótkich poszukiwaniach odnalazł się w Australii) –- szkoda :(.

Na sesji  Dart: a new programming language for structured web programming niewiele nowego się dowiedziałem — ale miałem kryzys skupienia i mogłem coś przespać :).

Google będzie promować Dart-a i obiecuje dbać o to aby był szybki. Na razie, obawiam się, to tylko zabawka w wersji alpha…

Paru następców JavaScriptu już mamy (choćby CoffeScript) – Dart jest pewnie lepszy, ale to nie znaczy, że wygra.

Sesja V8 Performance Tuning Tricks poświęcona optymalizacji JavaScriptu wykonywanego na V8 (silnik JavaScript wykorzystywany w Google Chrome) była ciekawa, ale głównie w akademickim tego słowa znaczeniu :). Było warto zobaczyć, ale przydatność w praktyce dla mnie — raczej średnia.

Dla mnie najciekawszą informacją było to, że V8 można uruchomić z linii poleceń (do wykorzystania z VIM-em i JSLint-em pod Ubuntu).

DevTools Tips and Tricks

Ostatni wykład. Było warto zobaczyć. Dowiedziałem się, że parę rzeczy, których mi brakowało w DevTools istnieje. Dowiedziałem się też o paru rzeczach dostępnych z konsoli DevTools:

  • $0 zwraca aktualnie wybrany/zaznaczony w drzewie DOM element.
  • copy() kopiuje wartość argumentu do schowka – np. gdy zaznaczonym elementem jest obrazek (element IMG) to copy($0.src) skopiuje ścieżkę obrazka do schowka.
  • Przydatne skróty klawiszowe (lista dostępna po naciśnięciu znaku ? na klawiaturze).

Slajdy z sesji Chrome Dev Tools Tips and Tricks.

Podsumowanie

Było warto pojechać. Nawet pomimo tego, że nowości było nie za wiele, a na paru wykładach liczyłem na więcej.

JavaScript – mocne strony. Recenzja.

2 września 2010

O książce

Jakiś czas temu, głównie z powodu bardzo dobrych opinii (np. na stackoverflow.com), przeczytałem książkę JavaScript — mocne stronyJavaScript -- mocne strony, autorstwa Douglas Crockford-a (znanego guru JavaScript), wydaną przez wydawnictwo Helion.

Czy warto przeczytać?

Moja odpowiedź będzie krótka — naprawdę warto przeczytać.

Książka jest krótka, konkretna i na temat, więc dobrze się ją czyta.

I zawiera sporą dawkę wiadomości na temat prostej Javy bez typów, dzięki czemu pomaga uporządkować i docenić język JavaScript oraz uniknąć wielu błędów podczas kodowania.

Ja dowiedziałem się, między innymi, że:

  • JavaScript ma tylko jeden typ numeryczny — 64 bitowe liczby zmiennoprzecinkowe — nie ma liczb całkowitych.
  • Instrukcje switch, while, for, do mogą mieć etykietę umieszczoną przed instrukcją. Etykieta ta może być użyta w instrukcji break wewnątrz bloku instrukcji i być pomocna np. w wyjściu z zagnieżdżonych instrukcji for.
  • Obiekty są zawsze przekazywane przez referencję.
  • Obiekt Number ma metody:
    • Number.toFixed(fractionDigits),
    • Number.toPrecision(precision)

    czyli zaokrąglania nie trzeba tego implementować samodzielnie.

  • Wynik porównania dla operatorów == i != może być nieoczekiwany. Przykłady z książki:
    • '' == '0' //false
    • 0 == '' //true
    • 0 == '0' //true
    • false == 'false' //false
    • false == '0' //true

    Zalecane operatory to === i !==, które sprawdzają typ i wartość.

  • Metoda parseInt() ma dwa parametry. Drugi określa podstawę systemu liczbowego. I że liczby rozpoczynające się od 0 (zero) są traktowane jako ósemkowe.

    Czyli klasyczne parsowanie miesiąca w dacie zapisanej w postaci dd.mm.yyyy dla sierpnia i września zawiedzie… Rada autora — zawsze jawnie przekazywać drugi parametr.

Dwa ostatnie rozdziały są poświęcone dobremu stylowi programowania w języku JavaScript (sposób użycia języka i styl kodowania). Poniżej linki do oryginalnych tekstów:

Autor wprowadza też pojęcie module pattern, czyli sposób na uniknięcie zmiennych (i funkcji) globalnych.

Podsumowanie

Jeżeli jest się programistą, na co dzień używa się JavaScriptu i chce się wiedzieć więcej lub uporządkować swoją wiedzę na temat języka to książka JavaScript — mocne strony jest znakomitą pozycją.

Książka jest krótka, zawiera opis języka i wielu technik programowania dostępnych w JavaScriptcie.

Opisuje nie tylko mocne strony języka, ale także te słabe i nietrafione, których należy unikać.

Słowem — doskonała lektura dla każdego programisty używającego JavaScriptu.

Czy Webdeweloper może ignorować IE — może!

28 września 2009

Wprowadzenie

Oglądałem ostatnio zdjęcia w serwisie Flickr.

Przyglądałem się funkcji komentowania zdjęć i zauważyłem zaokrąglone rogi przycisków Preview i Save Comment oraz okna z wyjaśnieniami How do I format my comment?

Jako człek ciekawy, sprawdziłem jakiej to metody użyli programiści Flickr.com, aby uzyskać efekt zaokrąglonych rogów…

Zaokrąglone rogi w serwisie Flickr.com

Jest wiele metod (bazujących na miksie tabel i obrazków) uzyskania efektu zaokrąglonych rogów — większość to, moim zdaniem, doskonałe przykłady przerostu formy nad treścią.

Programiści Flickr.com zrobili to, moim zdaniem, niezwykle elegancko. Użyli styli CSS -moz-border-radius, które działają we wszystkich nowoczesnych przeglądarkach (Firefox, Chrome, Safari, Opera) poza…, a jakże, Internet Explorer-em — każdym :(.

flickr.com

Zaokrąglone rogi w serwisie Flickr.com

Podsumowanie

Dzięki prostemu rozwiązaniu działającemu w oparciu o style CSS, można osiągnąć ten miły dla oka i mózgu efekt niewielkim nakładem pracy i — co o wiele ważniejsze — bez rozdmuchiwania kodu HTML i rozmiaru przesyłanej strony.

Flickr.com i Yahoo pokazały też, że można zignorować niedostatki przeglądarki Internet Explorer, dzięki czemu zyskują:

  1. Użytkownicy innych przeglądarek — bo strony ładują im się szybciej,
  2. Programiści — bo mają kod prostszy do napisania i utrzymania,
  3. Testerzy — bo przyciski są standardowe i standardowo działają (fokus, zatwierdzanie klawiszem Enter i Spacja).

Unia Europejska i reklama internetowa

4 kwietnia 2009

Wpis o dyrektywie UE standaryzującej opis/adresy URL reklam internetowych był oczywiście żartem primaaprilisowym.

Nowa dyrektywa Unii Europejskiej zbawieniem internautów?

1 kwietnia 2009

Właśnie usłyszałem o projekcie nowej dyrektywy Unii Europejskiej. Unijni urzędnicy chcą mianowicie wymusić na dostawcach reklam w sieci standard ich adresowania.

Na przykład:

  • reklama wykonana w technologi flash będzie musiała mieć w adresie słowo flash,
  • reklama udźwiękowiona musi będzie musiała mieć w swoim adresie słowo sound.

Czyżby ktoś z pomysłodawców używał Firefoksa, AdBlocka i miał dość reklam wydających dźwięki?

Twitter — jestem uzależniony…

30 marca 2009

Dla niewtajemniczonych, Twitter to (za Wikipedią) serwis społecznościowy pozwalający na prowadzenie mikrobloga. Lub, innymi słowami, serwis pozwalający na informowanie innych użytkowników co się teraz robi.

O ile jestem w stanie zrozumieć ludzką potrzebę korzystania ze ,,zwykłych” serwisów społecznościowych typu nasza-klasa.pl, Facebook.com, czy wayn.com i rozumiem użyteczność serwisów typu GoldenLine.pl lub Linkedin.com, to istnienie serwisu typu twitter.com pozostawało dla mnie całkowitą zagadką.

Tłumaczyłem sobie, że jako inżynier, umysł ścisły, po trzydziestce, po prostu nie rozumiem tego zjawiska…

Aż do czasu, gdy słuchając podcastów z stackoverflow.com lub hanselminutes.com, okazało się że Twittera wszyscy wokół używają…

Założyłem więc konto, aby osobiście sprawdzić o co w tym wszystkim chodzi i prawie natychmiast się uzależniłem… Nie wiem jak to działa, ale uzależnia. Bardzo ciekawe doświadczenie…

Zdania na temat Twittera nadal nie zmieniłem. Poniższy film doskonale je opisuje:

O protestach użytkowników serwisów społecznościowych…

26 marca 2009

Miałem napisać parę słów w związku z niedawnym buntem użytkowników Grono.net, ale nic ponad to, co napisała Marta Klimowicz, bym nie napisał, więc zapraszam do lektury wpisu Marty.

O nazwach startup-ów

24 lutego 2009

Czasem zaglądam na grupę Projekty start-up w serwisie GoldenLine.pl. Fascynuje mnie pomysłowość nazw nowych start-up-ów np.: upente.com, endorfinum.pl, qype.pl lub structus.pl.

Zawsze mnie zastanawiało, na jakiej podstawie autorzy zakładają, że:

  1. Standardowy Użytkownik Internetu (STU) będzie wiedział do czego służy dany serwis.
  2. STU będzie umiał zapamiętać adres serwisu.
  3. STU będzie potrafił poprawnie wpisać adres serwisu w przeglądarce (albo chociaż tak, aby Google zasugerowało właściwą nazwę).

Ciekawe gdzie byłaby nasza-klasa.pl, gdyby nazywała się, dajmy na to our-college.pl

Idee. Hot or Not — Najbardziej irytujące reklamy

16 lutego 2009

Wszyscy użytkownicy internetu, nawet Ci korzystający z dobrodziejstw dodatku Adblock do przeglądarki Firefox, znają ten problem — reklamy zasłaniające całą treść, reklamy których trudno się pozbyć (np. ukryty lub uciekający krzyżyk)  i te, moim zdaniem, najgorsze — gadająco-śpiewające — budzące żonę i dzieci o północy.

Myślę, że takie reklamy (a jeszcze lepiej ich autorzy) zasłużyły na uwiecznienie w specjalny sposób — w serwisie typu hot or not zbierającym najbardziej irytujące reklamy.

Widzę dwa problemy z realizacją tego pomysłu. Pierwszy techniczny — utrwalanie reklam w serwisie i drugi, poważniejszy, prawny —  ataki właścicieli praw do ,,dzieł” dodanych do serwisu.

Wierzę jednak głęboko, że oba problemy da się rozwiążać — w końcu istnieją serwisy hot or not porównujące wygląd stron internetowych.