Zmiana wersji node.js za pomoca nvm

Node.js zagoscil juz w swiecie programistycznym na dobre i czesto nawet jesli nie tworzysz produktu w JavaScript, to nadal jakas czesc projektu wymaga node’a.

Czasem tez wymagana jest konkretna wersja node.js. Istnieje kilka sposob na zainstalowanie wlasciwej wersji, ja pokaze tu jedna z prostszych, wykorzystujaca nvm (Node Version Manager).

Na poczatek

  • zainstalowany node.js
  • umiejetnosc korzystania z wiersza polecen
  • 3 minuty

Wpis ten dotyczy nvm i node na MacOS, ale roznice dla Linuksa czy Windowsa nie powinny byc duze.

Czytaj dalej Zmiana wersji node.js za pomoca nvm

Progressive enhancement – tworzenie stron dla kazdego odbiorcy

Kazdy z nas lubi tworzyc cos bardzo nowoczesnego i przyjaznego programiscie. Pewnie nikt z nas (procz 3 osob ciagle odwiedzajacych te strone za pomoca IE 6) nie znosi tworzyc czegos dla starych i wrednych srodowisk.

Niestety, czasem nie wszystko zalezy od nas. Musimy pojsc na kompromisy i zapewnic takze starym, zgrzybialym srodowiskom podstawowe wsparcie. Istnieje kilka sposob na tworzenie takich stron. W ponizszej prezentacji glownie chcialbym sie skupic nad progressive enhancement (progresywne ulepszanie) oraz wspomniec o kilku innych, np. graceful degradation.

Czytaj dalej Progressive enhancement – tworzenie stron dla kazdego odbiorcy

JavaScript – sterowanie kontekstem wywolania funkcji

Ostatnio na blogu cisza, ale nie oznacza to, ze niczego nie pisze 😉

Czasu niestety zawsze malo, ale znalazlem niedawno chwile na napisanie dluzszego artykulu zbiorczo traktujacego o pracy z operatorem `this’ oraz `new’. Artykul zostal podzielony na dwie czesci:

Milej lektury!

Tworzenie obiektów za pomocą Object.create (ECMAScript 5)

JavaScript nie stoi w miejscu. Cały czas trwają prace nad różnymi API wchodzącymi w skład HTML 5, jak również nad rdzeniem języka – ECMAScript.

Dziś coś o nowości z ECMAScript 5 metodzie `Object.create’ pozwalającej na wygodne tworzenie obiektów. Przedstawiłem już wiele sposobów na tworzenie obiektów w JavaScript. Większość z nich była jednak mniej lub bardziej naginaniem podstawowych mechanizmów języka,aby przybliżyć jego działanie do oczekiwań programistów Java-pochodnych (pamiętajmy, nawet potocznie Java != JavaScript).

Czytaj dalej Tworzenie obiektów za pomocą Object.create (ECMAScript 5)

Meet.js zawitał do Gdańska!

Choć sama inicjatywa spotkań front-endowców w postaci meet.js nie jest w Polsce nowa, to w Trójmieście takie spotkanie odbyło się po raz pierwszy.

Powiedzieć, że zainteresowanie było duże, to skłamać. Początkowo planowane w pubie Polufka, kameralne spotkanie, przerodziło się w jeden z większych eventów około programistycznych, jakie w ostatnim czasie odbywały się w naszym grodzie. Ostatecznie zdecydowano o przeniesieniu prezentacji do Gdańskiego Inkubatora Przedsiębiorczości.

Miałem niekrytą przyjemność przedstawienia tematu „Modularny JavaScript”. Był to mój debiut na tego typu spotkaniach i bardzo dziękuję za responsywność publiczności. Mam nadzieję, że to nie ostatnie słowo meet.js w tej części naszego kraju. Czytaj dalej Meet.js zawitał do Gdańska!

Require.js – AMD w praktyce

Już kilkukrotnie poruszałem temat tworzenia modułów (czasem nawet „klas”) w JavaScripcie. Tym razem coś nowego – asynchroniczne definiowanie modułów. W skrócie AMD (ang. asynchronous module definition). Coraz więcej znanych frameworków i bibliotek wykorzystuje właśnie to podejście (choćby Dojo i jQuery).

W tym wpisie spróbuję pokazać dlaczego powstało takie rozwiązanie oraz przedstawić kilka prostych zastosowań.

Na początek warto:

Rozwijanie listy po kliknięciu na dijit.form.FilteringSelect / ComboBox

W Dojo Toolkit jest cały zestaw widgetów pozwalających budować bardzo nowoczesne aplikacje webowe. W ty wpisie zajmę się dwoma (spokrewnionymi) kontrolkami:

  • dijit.form.FilteringSelect
  • dijit.form.ComboBox

autouzupełnianie dijit.form.FilteringSelect

Co one robią?

Co z nimi nie tak, skoro mam zamiar im poświęcić cały wpis? Kolejno – są to komponenty zastępujące zwykły HTML-owy znacznik <select />. Są bardzo przyjazne dla oka, pozwalają nie tylko na wybór pozycji z listy dostępnych, ale także na wpisywanie własnych (mechanizm podpowiedzi), dodatkowo bardzo dobrze współdziałają z data store. Słowem – używać, nie umierać ;).

Jednak posiadają jedną dużą wadę funkcjonalną – aby rozwinąć listę trzeba kliknąć dokładnie,tylko i wyłącznie w strzałeczkę sugerującą rozwijanie.

demo online

Czytaj dalej Rozwijanie listy po kliknięciu na dijit.form.FilteringSelect / ComboBox