Ostatnio w pracy walczyłem z projektem przejętym w spadku po kolegach. Projekt ten to program do zarządzania masowego repozytoriami i branchami w Gicie. Za pomocą tego narzędzia można w GUI robić merge, tworzyć nowe branche, blokować dostęp do nich i tym podobne. Osobiście wolę krótkie skrypty do tego typu działań, ale narzędzie nie było pisane dla mnie 🙂

Koledzy w ramach dobrego tonu, rozwoju i zabawy projekt zrobili w Ruby + Rails (rok, może 1,5 roku temu). Pomysł bardzo fajny, moje wątpliwości wzbudził jedynie fakt, że wszystko napisane było w Windowsie. Ogólnie mówi się, że technologie tego typu jak Rails to dla tego systemu coś oryginalnego. I faktycznie łatwo nie jest.

Pierwszym problemem było w ogóle uruchomienie środowiska. Okazało się, że gemy nie działają. Szeroka gama zabezpieczeń systemu na którym działam, dodatkowe proxy uniemożliwiają ściągnięcie gemów “the right way”, czyli po prostu z rubygems.org. Aby ogarnąć bałagan użyliśmy Artifactory o którym już na blogu wspominałem. Potem wystarczyło podmienić odpowiednie wpisy w pliku ustawień .gemrc:

Co istotne nie można zapomnieć o / za rubygems.org ponieważ wpis nie zostanie usunięty. Oryginalny adres usuwamy dlatego, że jest 1-szy na liście i najpierw stamtąd próbuje ściągać gemy, a to strata czasu (i transferu jeśli ktoś musi liczyć 🙂 ).

I nagle się okazuje, że można zupdateować gemy, zainstalować bundlera i wspaniale się bawić… Przez jakieś 10 minut:

Wszystko się ściągnęło, zainstalowało, ale server nie ruszył. Zaczęła się walka z błędami. Niestety nie widziałem co i jak – to się nazywa nauka 🙂 (a doświadczenie to “coś co potrzebne Ci było chwilę temu” 🙂 ). Dopiero po dłuższym czasie doszedłem do tego, że to nie takie hop siup i muszę mieć odpowiednią wersję Ruby. Więc ściągnąłem taką jak trzeba. Świetnym rozwiązaniem na Windows są instalatory Ruby, DevKit do ruby lub wszystko w 1 paczce – Railsy. Swoją drogą Rails Installer jest też na OSX… Hmmmm…

Po zainstalowaniu “nowej, ale starej” wersji Ruby i wykonaniu żmudnym jeszcze raz tych samych kroków, serwer railsowy ruszył. Jak się człowiek cieszy gdy zobaczy prostą stronkę na ekranie 🙂

“Teraz zacznie się zabawa” pomyślałem sobie… I dostałem zadanie napisania dokumentacji dotyczącej uruchomienia tego wszystkiego na maszynie developerskiej 🙂 Więc myślenie o kodzie przeniosłem na następny dzień 🙂 Ale taka dokumentacja to dobra rzecz. Kolejne osoby potrzebują jedynie tyle czasu ile kosztuje jej przeczytanie, by móc zacząć programować. Jedyna rzecz lepsza, na którą wpadłem już po tym niestety, jak napisałem dokumentację, to zrobienie odpowiedniego skryptu zamiast niej. A na kolejne projekty mimo wszystko zastanowię się nad dokerem.

Kodowanie w Ruby na Windowsie. Rzuca się na rozum pytanie – w czym? Notatnik to jednak za słaby jest. Zacząłem od projektu RedCar. Ogólnie napisany w Ruby dość fajny edytorek z kolorowaniem składni.  Niestety nie posiadał wielu sensownych poleceń i elementów, które posiadają inne edytory, więc szybko zamieniłem go na Visual Studio Code. Tak wiem… Ale to naprawdę fajny edytor. Swego czasu, po tym jak pojawiły się w nim plug-iny zastąpił mi Atoma. Oba są na tym samym Core, więc są podobne.

VS Code służył mi przez chwilkę, ale jestem fanem edycji tekstu sposobem vi, a ponieważ vim plug-in do tego edytora doprowadzał mnie do szewskiej pasji… Wróciłem do mojego starego, pewnego i dobrego edytora tekstu – Sublime Text. Kurcze Subik, jak lubię go nazywać, poważnie wymiata. I nie żałuję ani jednej wydanej na niego złotówki (czy raczej $). Nie żałuję też ani jednego grosza przeznaczonego na książkę o nim.

A więc wiadomo już – Sublime Text na Windowsie działa super i dla mnie ten zestaw zostaje. Nie wymagało to przyzwyczajenia, bo już dawno zacząłem odrzucać Visual Studio i jego nie chciane przeze mnie dobrodziejstwa. Wolę malutkie środowiska i do programowanie w C# preferowałbym teraz Project Raider. Ale jeśli mógłbym wybierać pewnie zrobiłbym coś w zupełnie innym języku.

Gdy przeszedłem juz tą ścieżkę zdrowia, faktyczne zmiany w projekcie, o które mnie poproszono, to była czysta przyjemność. Dosyć szybko się uporałem z większością zmian. Jedna, która została, dosyć duża, dostała się koledze. On fanem Visual Studio i C# jest i basta. Trudno się z nim rozmawiało, ale pogodził nas Ruby Mine. Produkt od znanej z Resharpera firmy JetBrains. Widziałem pokątnie (Snapchat rulez), że nawet Andrzej Krzywda z niego korzysta 🙂 Pomagając koledze w wykonaniu zadania okazało się, że to IDE ma debugger, zestaw niezbędników do refactoringu, test runner. Wszystko co jest potrzebne w nowoczesnym IDE -> jest to preferowane przeze mnie środowisko nie wywołujące aż takiego szoku w programistach .NET.

Okazuje się, że po przewalczeniu kilku problemów, programowanie w Railsach na Windowsie nie tyle jest możliwe, ile sprawia niemalże tyle samo frajdy co na OSX. Oczywiście są problemy – nie udało mi się uruchomić tego wszystkiego w babunie, ale ostatni nabytek – ConEmu – sprawia, że nie jest to aż takie przykre. Jeżeli jesteś developerem, który robi na Windowsy -> spróbuj Ruby. To świetny język do prototypowania czy robienia małych skryptów narzędziowych. No i jeśli go nie próbowałeś to jest to coś nowego co odświeża umysł i robi w nim przewiew na nowe pomysły. Zdecydowanie Polecam!

3 Replies to “Ruby + Rails + Windows = ?

  1. Pingback: dotnetomaniak.pl
  2. Skąd się wzięła u Ciebie niechęć do Visual Studio? Ja jestem fanem od czasu studiów, bo wykańczały mnie tekstowe edytory, których używaliśmy na laborkach… Project Rider wygląda bardzo ciekawie – masz z nim jakieś doświadczenia?
    Jeśli jest jakiś post o Twoim odejściu od VS, to podeślij link, bo chętnie poczytam 😉

    1. Nie, nie ma żadnego tekstu w stylu czemu nie lubię VS, ale to dobry pomysł… Dzięki 🙂
      A to też nie jest tak, że odszedłem. Mam w pracy VS i czekam na R#. Niestety nie widzę opcji na Project Rider w pracy. Natomiast w domu próbowałem i owszem. Pierwsze szlify wyglądają ok. Zapisz się do EAP project raidera i testuj, to zobaczysz 🙂 Jest lżejszy, przede wszystkim. VS jest ciężkie i niewygodne.
      Odszedłem od debbugowania i polegam w 100% na testach. Zdarza się, że napiszę program i sprawdzam jak działa tylko testami, nie uruchomię go ani razu i oddam do testów… I działa 🙂 (a czasem nie 🙂 ). I tu Vs wydaję się być powolne i niefajne. Sublime + R#, czy taki project raider są super do tego. A najfajniej teraz to Sublime + Railsy. Na razie w elixirze za mało zrobiłem by się wypowiadać 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *