Aurora – podsumowanie siedmiu tygodni zmagań

Cześć,

dziś krótki wpis, którym postaram się podsumować pierwszą połowę zmagań w ramach konkursu Daj się poznać. Chciałem także podzielić się z Wami moimi spostrzeżeniami oraz opisać z czego jestem zadowolony, a z czego nie. No to po kolei, stos technologiczny:

 

ASP.NET Core

Muszę przyznać, że po pierwszym tygodniu miałem ochotę przepisać cały backend na wersję 4.5. Czułem się kompletnie zagubiony w strukturze projektu, a wszystko to, co dotychczas znałem nie działało lub było zaimplementowane zupełnie inaczej. Problemy zaczęły się już na samym początku od konfiguracji Entity Framework 7, gdzie miałem problemy ze zgodnością wersji, poprzez konfigurację Autofaca, na pisaniu własnego OAuthProvidera kończąc. Wiele bibliotek, które planowałem wykorzystać po prostu nie działało m.in. Entity Framework Dynamic Filters, który opisywałem jakiś czas temu na blogu czy choćby TypeLITE, który generuje na podstawie klas C# odpowiedniki w TypeScript. To wszystko spowodowało, że czas wytwarzania aplikacji znacznie się wydłużył. Mimo tego, po „oswojeniu” się z nowym ASP, muszę przyznać że jest to godny następca swojego poprzednika. Abstrahując od wydajności, której póki co nie testowałem, dostrzegam wiele plusów jak: ujednolicenie Web API, Web Forms oraz MVC, konfiguracja aplikacji z jednego miejsca (Startup.cs), „wymuszenie” wstrzykiwania zależności itp. Smutny fakt jest taki, że wersja RC-2 zapowiada się być znów kompletnie inną niż obecna, co dobija mnie niezmiernie….

 

Aurelia.io

To chyba najjaśniejszy promyk w całym projekcie 😀 Problemów była na prawdę mało, a wszystko wyglądało dokładnie tak jak na demach czy tutorialach. Siłą tego frameworka jest zdecydowanie czystość kodu. Brak to jakichkolwiek udziwnień i składni, których trzeba uczyć się tygodniami, aby zaimplementować „Hello World”. W połączeniu z TypeScript praca nad „frontem” idzie na prawdę szybko i bezboleśnie. Zdecydowanie polecam osobom, które zastanawiają się nad nauką nowego frameworka. Jeżeli jesteście zainteresowani to możecie zajrzeć na moje dwa wpisy, które tłumaczą podstawy Aureli (kolejne są w drodze). Link macie o tu 🙂

 

Materialize CSS

Najchętniej wkleiłbym tu zdjęcie kupy, która ładnie podsumowałaby „to coś”. Z racji tego, że mój poziom obeznania w LESS, SASS lub nawet CSS jest… no cóż, niski… postanowiłem wesprzeć się Materializem, aby layout jakoś wyglądał. I znów, problemy/niedogodności pojawiły się już na początku i nie zamierzają ustąpić po dziś dzień. Po pierwsze irytujące jest nadawanie id każdemu inputowi. Po co?

 

Animation

 

Imponujące, prawda? Kod jest przez to mało czytelny, ale szczerze mówiąc nie mam już siły przepisywać tego na Bootstrapa. Kolejny problem jest związany z inicjowaniem kontrolek poprzez jQuery. Materialize ma pewne metody rozszerzające, które do tego słuzą. Problem tkwi w tym, że używam TypeScript, który takowych metod nie widział. Skończyło się na pisaniu własnych plików DefinitelyTyped, które i tak nie rozwiązały wszystkich problemów. Generalnie dramat…

Co do reszty bibliotek, to nie miałem jeszcze okazji ich użyć, ale na pewno zostaną wspomniane przy okazji podsumowania całego konkursu.

 

Architektura

Kiedy planowałem prace nad projektem postanowiłem wybrać jedną z dwóch rzeczy: nowy stack, albo wprowadzenie CQRS. Powód był prosty. Bałem się, że podjęcie się obu tematów by mnie przerosło, a projekt pod koniec maja miałby co najwyżej okno logowania. Z perspektywy czasu bardzo tego żałuję, ale czasu nie cofnę. To co jest aktualnie, czyli pseudo CQS jest akceptowalnym minimum. Więcej o architekturze możecie przeczytać w tym wpisie 🙂

 

Blog

Przyznam się szczerze, że początki nie były łatwe. Po publikacji posta sprawdzałem przerażony przez 10 min. czy pojawił się jakiś komentarz w stylu „baznadziejne, skończ z tym bo żal mi na to patrzeć”. Na prawdę, nie było łatwo. Z czasem jednak pewność siebie rosła, co skłoniło mnie do wrzucenia wpisu o poziomach izolacji na dotnetomaniaka (link macie tu). Odzew był bardzo pozytywny, a w dodatku wpis pojawił się na fejsbukowej stronie Microsoft Developers! Wtedy poczułem, że moje starania nie idą na marne, a co najważniejsze… ktoś to czyta ! To na prawdę fajna sprawa i jestem pewien, że blog nie umrze wraz z końcem konkursu.

 

Community

Jestem pod naprawdę wielkim wrażeniem jak społeczność się zgrała. Na Slacku konkursowym co chwilę rozpoczynają się nowe dyskusje o IT, projektach lub rzeczach nie związanych z konkursem. Wszyscy są do siebie bardzo pozytywnie nastawieni i co najważniejsze – każdy startuje dla frajdy, chęci sprawdzenia siebie i swoich umiejętności. Nagrody są tylko miłym dodatkiem. Widać także sporą aktywność na blogach innych osób, gdzie pod wpisami pojawiają się komentarze motywujące do dalszego działania, sugestie dotyczące projektu, lub po prostu pytania wskazujące na to, że ludzi interesują rzeczy pisane przez innych. To jest super, i mam nadzieję że taka atmosfera utrzyma się do samego końca !

 

Liczby

Ostatni podpunkt dzisiejszego wpisu. Kilka liczb, które podsumują półmetek:

  • 55 commitów
  • około 180h spędzonych przy projekcie/blogu
  • 22 posty na blogu od 1 marca
  • w tym 13 postów konkursowych

 

Mam jeszcze jeden, mały powód do dumy. Jakiś czas temu na blogu Maćka Lesiczaka pojawiło się zestawienie blogów konkursowych po pierwszym miesiącu. Na tamten czas zajmowałem 10 miejsce pod względem ilości wpisów (mam nadzieję, że ilość szła w parze z jakością) oraz 12 miejsce pod względem aktywności na githubie. Ten fakt jeszcze bardziej zmotywował mnie do dalszej pracy 🙂

 

Na dziś to wszystko. Niedługo pojawi się nowy wpis, którego tematyka mam nadzieję Was zainteresuje 🙂 Jeżeli chcecie być na bieżąco z nowymi wpisami to wpadajcie na mojego twittera lub na założony kilka dni temu fanpejdż na facebooku 🙂

Do następnego !

You may also like...