Postanowiłem zrobić przynajmniej jeden krok w każdym kierunku. Jak można zrobić krok w każdym kierunku? 😉

Lalawel

Rozpoczołem od pierwszych kroków w Laravelu, który to framework nie jest aż tak „zły”. Dla mnie programisty C# (od wielu lat) jest to dosyć duże przejście, zmiana sposobu myślenia (programowania), inne środowisko, trochę inny język, po za tym podobne to wszystko.

Aktualnie podpinam bazę i wchodzę w ORM-a. A czym jest Laravel? To MVC tylko w php. MVC w .Net-cie poznałem, zauroczył mnie, a potem uznałem to za kolejny UI, między innymi z powodu DNA i mojego zainteresowania architekturą aplikacji.  Zrozumiałem, że MVC to tylko przedstawienie danych, cała logika aplikacji jest gdzieś, niżej. Dzięki temu nie jestem trwale związany z jednym rozwiązaniem zwanym MVC.

Ja wszedłem do MVC z WebForms-ów, był to dla mnie szok. Zupełnie inna archtektura, było jakoś tak czysto, wszystko poukładane, mam katalog z modelem, controlery, akcje kontrolera to widoki. W widokach mogę korzystać z kodu C#. Komunikacja między widokiem, a akcją jest prosta.  Było cudownie ale nie łatwo. Z czasem coś zaczeło nie grać, kontroler przypominał chlew z tłustymi lochami w środku, które  bezwiednie poruszały się po  pomieszczeniu, było całkiem tłoczno. Logika wciśnięta w kontrolery to nie jest dobra sprawa. Model oparty o Entity Framework u mnie było Base First zawsze, też wydawał się nie dostosowany do jego zastosowania, po prostu za dużo.  Widoki to była konsekwencją akcji na kontrolerach.

Wszystko można zepsuć, MVC też zepsułem.

Dowiedziałem się żeby w kontrolerach nie trzymać logiki biznesowej, model  wepchnąć w repozytorium nie w katalog model. Dodać osobny projekt do Entity Frameworka, osobny do ADO.net-a, wystawić z nich interfejsy. Dodać projekt z testami. Nagle okazuje się że MVC przestaje być na pierwszym miejscu, przestaje być potrzebne bo nie tworzę silnej zależności z przedstawieniem danych. Kontrolery służą tylko do wywołania metod z interfejsów, akcje są krótkie, widok też się upraszcza.

Zaryzykuje stwierdzenie, że Laravel jest dobry do tworzenia stron nie wymagających skomplikowanej logiki biznesowej, która wymaga od tworzonego systemu rozbicia go na wiele modułów. Jednym z tych modułów mógłby być Laravel ale nie wszystkimi.

W przypadku rozbudowanych aplikacji dobrym rozwiązaniem była by Java, czy C#? C# jest (dla mnie ) czymś między PHP, a JAVA. Jest mniej skomplikowany od Javy ale bardziej rozbudowany od PHP-a. Oczywiście nie oznacza to że jest lepszy od jednego czy drugiego rozwiązania, wszystko zależy.

Kurs DNA (Droga Nowoczesnego Architekta) nauczył mnie, że język ma mniejsze znaczenie na pierwszym etapie życia projektu. Pierwszym krokiem w tworzeniu aplikacji jest zrozumienie domeny (dziedziny) problemu. Jak zrozumiem domenę to będę potrafił wybrać odpowiednie narzędzia do rozwiązani problemu.

Laravela, chce poznać  też dlatego, żeby móc zaproponować odpowiednie rozwiązanie dla problemu. Wydaje mi się że do większości problemów coś takiego jak Laravel wystarczy.

Unreal Engine – bazy danych

Przeszukałem internety, da się połączyć z bazą UE czy to z MySql-em, SQLite-em, a nawet z MSSql-em (płatny plugin). Nikt chyba nie wpadł natak szalony pomysł żeby  prezentować dane z bazy w wirtualnej rzeczywistości! No cóż czasami tak mam.

Zrobiłem pierwszy krok zainstalowałem Unreal Engine (dłuuugo się instaluje), znalazłem tutoriala z bananem w roli głównej, pech chciał że do innej wersji ale nie to było najgorsze, sprzęt wymięka. Jeżeli jednak mój sprzęt nie udzwignie UE, to krok pierwszy zrobię w Unity .

Na razie ten krok to taki mały tiptop ;-).

Aktualizacja

Jednak Unreal Engine potrzebuje baaardzo wypaśnego sprzętu żeby mógł działać płynnie. Więc to trochę w czasie zostanie przeniesione. Sam pomysł jest coraz bardziej interesujący, wzbudza we mnie coraz większe emocje i przyciąga. Postanowiłem na razie Unity się zająć (mniejszy sprzęt i C#).

Reszta pomysłów jest mocno ruszona ale stoi, kroków nowych brak.

 

Kategorie: Inne