Autor Wątek: Gra planszowa Online  (Przeczytany 3584 razy)

Offline kamilek

  • Użytkownik

# Grudzień 26, 2013, 00:50:49
Nie bardzo wiedziałem gdzie umieścić ten wątek więc padło na ten dział.

Na co dzień zajmuje się technologiami mobilnymi, dla odmiany chciałem zrobić coś  ciekawego w innej technologii ale do rzeczy.

1. Projekt będzie miał na celu stworzenie prostego w użyciu API do tworzenia gier planszowych online.
2. Zasada działania to klient + serwer, ogólnie na starcie chciałbym stworzyć klienta webowego, ale powiem szczerzę że dość poważnie myślę o klientach mobilnych.

Trochę się rozglądałem w dostępnych technologiach, ale im więcej czytałem tym miałem mniejsze pojęcie czego użyć.
Tak naprawdę mogę użyć mnóstwa technologi takich jak php/js/ajax, html5, java itp. ale zależy mi nie na tym żeby to "jakoś chodziło" ale żeby to było zrobione dobrze i było przyjemne w użyciu.

Więc pytanie brzmi czego najlepiej użyć !? pamiętając że będą to gry turowe z elementami "real time".

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline timus

  • Użytkownik

# Grudzień 26, 2013, 01:01:41
HTML5 + websocket(js) + php bedzie ok, no chyba, ze wolisz pisać wszytko w js to wtedy node.js zamiast php
« Ostatnia zmiana: Grudzień 26, 2013, 01:06:36 wysłana przez timus »

Offline Xion

  • Redaktor
    • xion.log

# Grudzień 26, 2013, 01:46:34
Jakie "HTML5"? Z tego co zrozumiałem, OP chce zacząć od pisania backendu z API, klienci przyjdą potem.

@OP: To, czy API będzie przyjemne w użyciu nijak nie zależy od technologii, których użyjesz do jego implementacji, lecz interfejsu jaki wystawisz. Obecnie popularne są RESTowe API po HTTP, do których gada się zwykłymi żądaniami HTTP POST/PUT/etc., a w zamian dostaje JSON-a z rezultatami. Tak działa Twitter, Facebook, itp.

W twoim przypadku potrzeba będzie jeszcze czegoś do pushowania powiadomień o ruchach innych graczy itp. W tym przypadku trudniej już o uniwersalny i szeroko obsługiwany standard. Na początek możesz zaimplementować zwykły polling, potem WebSockets, a poźniej nawet HTTP push (czyli możliwość rejestracji własnych URL-i pod które serwer będzie wysyłał żądania).

Offline deadeye

  • Użytkownik

# Grudzień 26, 2013, 02:08:07
Jeśli chcesz się nauczyć czegoś co ma szeroki support i dokumentacje, i  łatwo ci będzie znaleźć darmowy hosting, to php. Język daleki do ideału, ale popularny, a z odpowiednim frameworkiem nienajgorszy. Z czymkolwiek innym pokroju JS.node czy Java EE będzie ci o wiele ciężej z hostingiem, chyba że zamierzasz sam hostować na kompie i mieć całość tylko do lokalnych testów.

Offline Xion

  • Redaktor
    • xion.log

  • +2
# Grudzień 26, 2013, 10:22:02
Bullshit. Obecnie istnieje gazylion różnych cloudów, które wspierają wszystko od Pythona przez node.js do Javy. Popularne to chociażby Heroku czy Azure.
Zawsze można też użyć Amazon Web Services bezpośrednio, jeśli mamy coś bardzo niestandardowego.

Offline walkinguer

  • Użytkownik

# Grudzień 26, 2013, 15:11:12
PHP jest bardzo podobne do C++. Odpalasz na każdym serwerze i hostingu. Na początku nie musisz sie o nic martwić (hosting za 100zł rocznie). Piekielna dokumentacja uzupełniona pomocnymi komentarzami programistów.

---

Więcej się nie wypowiadam, bo gdybym ja chciał zrobić grę na przegladarkę, to po prostu użyłbym PHP/Ajax i pouczył się tworzenia gier w HTML5. Pójdzie to na każdej nowoczesnej przeglądarce (w tym telefonie). Żyć nie umierać.

Offline Xion

  • Redaktor
    • xion.log

  • +1
# Grudzień 26, 2013, 19:16:12
Umierać, umierać:

* PHP nie jest podobne do C++, już więcej ma wspólnego z Perlem i JavaScriptem
* hosting do PHP możesz mieć za 100zł rocznie, a serwer do developmentu / beta-testów w praktycznie dowolnym innym języku możesz mieć za darmo
* gra w HTML5 może i "pójdzie" na każdej przeglądarce na telefonie, ale czy automatycznie dopasuje się chociażby do różnych rozmiarów ekranu na różnych urządzeniach mobilnych, jeśli się o to nie zadba? (podpowiedź: nie)

Offline Joker

  • Użytkownik

# Grudzień 26, 2013, 20:05:10
php też odpali na każdej przeglądarce, nawet tej starszej ;E

Offline walkinguer

  • Użytkownik

# Grudzień 26, 2013, 20:25:57
Xion:

* Czyli serwera/hostingu z PHP nie dostanę za darmo? Chyba coś ci się odwróciło. Myślałem, że to technologie HTML + PHP są najpopularniejsze na rynku webowych aplikacji. ( $popularnosc = $dostepnosc; )


* Każdy chyba miał się wypowiedzieć na podstawie własnego doświadczenia. I tylko jedna osoba (przed postem który teraz piszę) musiała napisać aż 3 posty. . . //Komentarz zbędny

Offline Karol

  • Użytkownik

# Grudzień 26, 2013, 20:47:00
* PHP nie jest podobne do C++, już więcej ma wspólnego z Perlem i JavaScriptem
Perl i JS też są podobne do C++ ;). Może i od środka są inne, ale z zewnątrz wyglądają bardzo podobnie (chodzi o składnię), więc nie można definitywnie stwierdzić, że nie są podobne.

* gra w HTML5 może i "pójdzie" na każdej przeglądarce na telefonie, ale czy automatycznie dopasuje się chociażby do różnych rozmiarów ekranu na różnych urządzeniach mobilnych, jeśli się o to nie zadba? (podpowiedź: nie)
A w jakiej innej technologii jeżeli się o coś nie zadba to to się samo zrobi?

Wracając do tematu, to można strzelić jakiś prototyp w PHP i przesyłać JSONem dane (szybko i wygodnie), a dopiero potem się martwić o skalowalność.

Offline Xion

  • Redaktor
    • xion.log

  • +1
# Grudzień 26, 2013, 20:57:35
Okej, widzę że moje heroiczne próby odwiedzenia biednego OP od używania najgorszego języka świata spotkały się przeważającymi siłami strony przeciwnej. Czas się wycofać. Oto kolejny mały kroczek zmieniający świat na gorsze :(

Offline Karol

  • Użytkownik

# Grudzień 26, 2013, 21:24:33
Okej, widzę że moje heroiczne próby odwiedzenia biednego OP od używania najgorszego języka świata spotkały się przeważającymi siłami strony przeciwnej. Czas się wycofać. Oto kolejny mały kroczek zmieniający świat na gorsze :(

Gdzie te próby? Gdybyś na serio chciał odwieść od używania PHP to można by to napisać wprost i podać jakieś argumenty, a zamiast tego powołujesz się na fakt, że w PHP z 1994, który słuzył wtedy głównie twórcy tego języka, użyto jakichś głupot w kodzie :U Umiem sobie wyobrazić wiele argumentów przeciw PHP, ale takie coś? No bez jaj...

Ja dobrze wiem, że PHP nie jest najcudowniejszy i pewne rzeczy w nim kuleją (głównie są to bolączki z czasów starości, jak np. różne konwencje nazewnictwa funkcji) oraz nie nadaje się do obsługiwania gigantycznego ruchu (nie na darmo FB kombinował ze swoim HipHopem), ale ma bardzo niski próg wdrożenia się w tą technologię i można szybko postawić sobie prototyp tego co autor wątku planuje zrobić.
« Ostatnia zmiana: Grudzień 26, 2013, 21:27:06 wysłana przez Karol »

Offline Frondeus

  • Użytkownik

  • +1
# Grudzień 26, 2013, 22:17:31
A ja popieram Xiona. Nie wiem czemu zachęcacie do PHP skoro są lepsze alternatywy. HTML5 + Websocket + node.js. Serio nie trzeba nic więcej do szczęścia. Mamy końcówkę 2013 roku. Trudno mi uwierzyć że nie znajdzie kolega darmowego hostingu do Ruby, Pythona, Node.js czy innego cuda.


Offline kamilek

  • Użytkownik

# Grudzień 26, 2013, 22:32:11
Powiem szczerze ze osobiscie Php nawet nie bralem pod uwage. Powiedzmy ze srednio trawie ten jezyk. Ale jestem zdziwiony ze bylo as type glosow za php.

Ze wzgledow zawodowych dobrze byloby zebym zainteresowal sie jee. Ale oczywiscie nie ograniczam sie. Jesli chodzi o hosting to aktualnie korzystam z uslug amazon I nie narzekam.




Offline Xender

  • Użytkownik

  • +2
# Grudzień 26, 2013, 23:19:39
@up - "jee"? Nie spotkałem się z tym skrótem, chodzi o Javę EE?

W sumie nie siedzę w webdevie, ale z tego co kojarzę (disclaimer - mogę kojarzyć niezbyt dobrze - poprawki nieścisłości mile widziane), to:

- Może Python + jakiś framework? (Znajomy chwali sobie Flask). Z języków używanych w webdevie wydaje mi się być najelegantszy (składniowo i semantycznie), mimo, że chyba nie jest za bardzo popularny.

- JavaScript ma swoje quirki + słabe typowanie (Nie mylić z dynamicznym! Słabe to dzikie casty). Ale jak się lubi wyzwania, to pewnie spoko.

- O RoR wiem, że Railsy mają jakieś sensowne wsparcie dla REST. Samo Ruby ma taką sobie składnię (chociaż to moja opinia o wszystkich językach, które mają keyword "end" do zamknięcia bloku).

- PHP - welp, fraktal złych decyzji projektowych.

- Jak ktoś lubi Perla, to kolega mówił, że Perldancer jest spoko. W innym wypadku chyba nie warto - Perl jest na tyle specyficzny, że uczenie się go pod webdev brzmi dziwnie.

No i są jeszcze języki "grubszego kalibru" - Java czy C[++] z CGI. Chociaż to ostatnie może się wydawać groteskowe w dzisiejszych czasach...

Co do protokołu przesyłania żądań i odpowiedzi, to JSON jest bardzo fajny i całkiem kompaktowy (oczywiście jeśli chodzi o tekstowe). Można go wystawić po HTTP lub po gołym TCP (a pewnie po jednym i drugim). Ma fajne wsparcie w wielu językach programowania.

XML to masakra.