Filtrowanie wszystkich postów po tagu "rails." Wyczyść filtr

Kontomierz na Ruby 1.9.2 i Rails 3

Dla tych, którzy interesują się technologią, mamy dziś kilka ciekawostek z cyklu "Kontomierz od kuchni".

Kiedyś

W Kontomierzu oprócz finansów pasjonujemy się nowoczesnymi metodami programowania. Dlatego od początku wykorzystujemy język Ruby i platformę Rails. Gdy zaczynaliśmy pisać Kontomierz, były to czasy Rails 2.0, Ruby 1.8.6, serwerów mongrel i frameworku Prototype.js. Przy każdej nowej wersji Railsów (2.1, 2.2, 2.3), ochoczo podnosiliśmy naszą aplikację, aby z niesłabnącym entuzjazmem cieszyć się kodowaniem i zwiększać naszą produktywność. Każdy upgrade wymagał rozwiązania kilku problemów technicznych, ale generalnie szło gładko i zawsze z perspektywy czasu ocenialiśmy, że było warto.

Wtedy nadeszły Railsy 3 i Ruby 1.9.2...

Podnosić, czy nie podnosić?

Tu sprawa się skomplikowała. Zarówno nowy język jak i platforma były oficjalnie niekompatybilne wstecz. Każda nietrywialna biblioteka i aplikacja wymagała żmudnego dostosowania. Nie było jasne ile tygodni/miesięcy czasu zajmie podniesienie Kontomierza do najnowszych wersji i przetestowanie, że wszystko działa całkowicie stabilnie. Z drugiej strony pozostanie przy starej wersji Railsów do niczego nie prowadzi i na dłuższą metę oznaczałoby zatrzymanie rozwoju. Jako, że nadchodził akurat okres świąteczno-noworoczny, w którym i tak nie wiele się dzieje, zakasaliśmy rękawy, utworzyliśmy nową gałąź w gicie i wzięliśmy się do pracy...

Dziś

Kontomierz od 2 tygodni działa stabilnie w oparciu o poniższe technologie:

  • Ruby 1.9.2
  • Rails 3.0.4+
  • Passenger 3
  • jQuery 1.4.4 (poczekajmy, aż 1.5 dojrzeje...)
  • "HTML5"

Klucz do sukcesu

Kluczowe były:

  • testy automatyczne (wykryły ponad 450 problemów)
  • rzetelne testy ręczne (trwały 3 tygodnie, do przetestowania mieliśmy mniej więcej 6 przeglądarek * 3 systemy operacyjne)
  • pasja wymuszająca korzystanie z najnowszych technologii
  • nadgodziny! (ale w jakże słusznej sprawie! ;-))

Zaskakujące pozytywne "efekty uboczne"

Upgrade okazał się świetną okazją do wyczyszczenia mnóstwa rzeczy. Skoro i tak czekały nas żmudne testy, pojawiła się ochota przeprowadzenia wielu dodatkowych "ryzykownych" zmian.

W ten sposób m.in.:

  • cały JavaScript Kontomierza został przepisany z Prototype.js na jQuery
  • zaczęliśmy korzystać z jQuery.UI - stąd nowe okna modalne, buttony, kalendarze...
  • wymieniliśmy bibliotekę do menu i tooltipów na nowsze odpowiedniki bazujące na jQuery
  • wprowadziliśmy kilka innowacji HTML5, np. semantyczne pola formularzy
  • przeprowadziliśmy sporo refactoringu, część była konieczna, część została zrobiona przy okazji

Co to oznacza dla użytkowników?

Teraz możemy jeszcze szybciej rozwijać Kontomierz, a Wy macie pewność, że Kontomierz pozostanie nowoczesny.

Nowe zasady dotyczące cookies. Używamy plików cookies do zapewnienia Ci wygodnego korzystania z serwisu, gromadzenia danych analitycznych i statystycznych oraz wyświetlania reklam dostosowanych do Twoich preferencji i przeglądanych treści. Kontynuując przeglądanie zgadzasz się na wykorzystanie plików cookies w powyższym celu przez nas (Kontomierz.pl sp. z o.o.) i naszych partnerów. Możesz zmienić warunki przechowywania i dostępu do plików cookies, w tym zablokować te pliki, w ustawieniach przeglądarki. W związku z korzystaniem z serwisu przetwarzamy również dane osobowe. Zapoznaj się z polityką prywatności Kontomierz.pl, aby dowiedzieć się więcej o przetwarzaniu Twoich danych osobowych i plikach cookies.