Wybor technologii do realizacji projektu

0

Prosze o naprowadzenie jakie technologie, jezyki powinienem uzyc przy realizacji projektu na studia/dla wlasnego rozwoju. Rowniez, prosze o ocene trudnosci o czasochlonosci wymyslonego przeze mnie projektu.

Moim pomyslem jest aplikacja webowa do projektowania gier komputerowych i prowadzenia prac nad dokumentacja w zespole. Cos z pogranicza MediaWiki, Jira i github. Preferowany przeze mnie jezyk to C#, ale znam rowniez skladnie o zasady programowania obiektowego w C++, Python i VB.

Zdaje sobie sprawe, ze podalem malo szczegolow, mam nadzieje jednak ze nakreslilem rozmiar projektu. Dodam jeszcze, ze jestem studentem studiow zaocznych, a na codzien pracuje w IT, ale nie jako programista tylko QA. Swoja kariere nie kieruje w programowanie, ale chcialbym skorzystac z faktu ze studiuje i poznac jak najwiecej technologii.

Przy okazji prosze o podpowiedz jak podejsc do procesu projektowania aplikacji. Jezeli zna ktos jakas dobra literature z tego zakresu, to dziekuje bardzo.

btw. nie wiedzialem jakir tagi dobrac, administracje najmocniej przepraszam :)

0

C# (chyba ze ASP uznajemy że się zawiera?) ani C++ i VB do aplikacji webowych się nie nadają, więc z tej listy to tylko Python ;]

0

Moje pytanie było szersze, może nie zaznaczyłem tego odpowiednio. Mianowicie: oczywiście słyszałem o czymś takim jak frameworku .NET i o tym, że C# nadaje się do aplikacji webowych. Chciałbym się dowiedzieć: co więcej? W czym się tworzy frontend (HTML, CSS?), czy w jego skład wchodzi javascript? Baza danych - mySQL, SQL, LiteSQL? Problem w tym, że nie do końca wiem od czego zaczyna się tworzenie takich aplikacji. Jak zacząć, gdzie mam napisać swoją pierwszą linijkę? Do tej pory, jak potrzebowałem napisać program na zaliczenie to otwierałem IDE, klepałem kod i wyskakiwało.

0

Tak, w C# można tworzyć aplikacje webowe, dzięki ASP.NET. Ale to zajmuje się tylko "back-endem", cały front to nadal HTML+CSS+JavaScript, który musisz pisać samemu, ASP.NET tylko wygeneruje ci takiego HTML-a jak trzeba. Bazy danych obsługiwane są... różne - ale ORM, np. Entity Framework da ci pewną abstrakcję tego i będziesz pracował tylko na obiektach.

Problem z ASP.NET polega też na tym, że opiera się o wzorzec projektowy MVC, więc trzeba trochę wiedzieć o co w nim chodzi, nie da się "klepać kodu" bez zrozumienia koncepcji. Dobrze by też było wiedzieć, że mamy HTTP, bezstanowość, żądania, odpowiedzi...

Istnieje również taki produkt jak ASP.NET WebForms - ale nie polecam, nowych rzeczy w nim się nie tworzy już raczej. W założeniu miał oddalać programistę od HTML/CSS/JS, produkty były tworzone zupełnie jak w programowaniu okienkowym, ale niestety, nie za dobrze to działa. W programowaniu webowym lepiej jest obecnie zostać przy bardziej sensownym dla niego ASP.NET MVC.

0
Student II roku napisał(a):

W czym się tworzy frontend (HTML, CSS?),

No tak, bez nich w przeglądarce nie da się niczego wyświetlić.

czy w jego skład wchodzi javascript?

W skład C# nie, w skład frontendu owszem. Jeśli w ramach pracy z ASP.NET chcesz się zajmować także frontendem, to bez JS nie da rady.

Baza danych - mySQL, SQL, LiteSQL?

Jaka tylko chcesz, w .NET można używać każdej, to nie ma związku z webem. (BTW, SQL to język, nie baza danych.)

Problem w tym, że nie do końca wiem od czego zaczyna się tworzenie takich aplikacji. Jak zacząć, gdzie mam napisać swoją pierwszą linijkę? Do tej pory, jak potrzebowałem napisać program na zaliczenie to otwierałem IDE, klepałem kod i wyskakiwało.

Tu jest tak samo - wybierasz typ projektu webowego w Visual Studio, potem wybierasz Build & Run, i Twoja strona otwiera się w przeglądarce.

0

Rowniez, prosze o ocene trudnosci o czasochlonosci wymyslonego przeze mnie projektu.

Moim pomyslem jest aplikacja webowa do projektowania gier komputerowych i prowadzenia prac nad dokumentacja w zespole. Cos z pogranicza MediaWiki, Jira i github.

Jeśli od zera to pewnie z rok, patrząc na to, że jak piszesz "Problem w tym, że nie do końca wiem od czego zaczyna się tworzenie takich aplikacji", to ja bym raczej obstawiał 2-3 lata.

Porywasz się z motyką na słońce, co wcale nie musi być tak złe (i tak nie zrobisz swojej Jiro-Githubo-MediaWiki, i porzucisz projekt w trakcie albo zrobisz coś syfiastego - ale przynajmniej się nauczysz wielu rzeczy - sam tak robiłem, wielkie plany zrobienia czegoś wielkiego, i w końcu i tak porzucałem projekty po paru miesiącach, ale potem wiedza i doświadczenie jednak zostawało).

No ale z drugiej strony jest też odmienna droga, która również ma dużo zalet, czyli zamiast snuć wielkie plany, to zrobić coś małego, prostego, ale do końca (np. zamiast MediaWiki-Jiro-Githuba mógłbyś zdecydować, że zrobisz samą tablicę kanbanową (zamiast całego Jira) albo prościutki mikro-CMSik a la wiki z możliwością edycji w Markdown (zamiast całego MediaWiki), albo zamiast czegoś w rodzaju Githuba to samą przeglądarkę kodu.

Te programy nie będą przydatne (bo nie będą miały zbyt wiele funkcji), ale mogą cię nauczyć rozwiązywania praktycznych przyziemnych problemów (i łatwiej będzie ci pewnie zacząć, bo zamiast abstrakcyjnych problemów masz problemy bardziej techniczne np. jeśli chciałbyś zrobić tablicę kanbanową to musiałbyś się zastanowić "jak wyświetlić elementy na ekranie? w jaki sposób trzymać je w pamięci? Jak zrobić przeciąganie elementów myszą?". A mając konkretne problemy techniczne łatwiej wygooglować albo obmyślić rozwiązanie.

0

bardzo dziękuję za odpowiedzi! Szczególnie @LukeJL, bardzo fajne porady. Faktycznie najpierw spróbuję swoich sił z tablicą kanbanową, brzmi jak ciekawy projekt :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1