Programowanie RMSBG na Facebooka cz. 2 – Język programowania

Jakie języki programowania trzeba znać, żeby pisać RMSBG na Facebooka? Dowiedz się.

W poprzedniej części poruszyłem temat decyzji czy aby napisać Realtime Multiplayer Social Browser Game na Facebooka jest potrzeby centralny serwer (albo zestaw serwerów). Doszliśmy do wniosku, że faktycznie taki serwer jest potrzebny. Tutaj pojawia się oczekiwana trudność.

Z jednej strony będą bowiem gracze korzystający z przeglądarki (środowisko klienckie) i serwer, który będzie pośredniczył w komunikacji i zapisywał informacje o stanie rozgrywek (środowisko serwerowe).

A to oznacza, że inaczej będzie wyglądać programowanie części klienckiej, a inaczej serwerowej. Na szczęście sami możemy wybrać sobie oba te środowiska.

Część kliencka może być pisana w JS, Javie, czy też w AS (Flash). JS jest najbardziej ubogi z tego towarzystwa, ale jest w każdej przeglądarce, Java jest najpotężniejsza, ale pierwszy start aplikacji wymaga dużo czasu. Nie każdy ma Javę zainstalowaną. Z kolei AS i Flash: znowu: nie każdy ma Flasha zainstalowanego. Za to Flash nadaje się idealnie do bardziej wymagających wizualnie gier np. gier 3D i animowanych.

Jeśli więc piszemy grę planszową użyjemy JS, a Flasha użyjemy do gry np. do uprawiania farmy.

Część serwerowa może być pisana też w różnych językach. Serwerem może być Apache, NGinx, Lighttpd. Serwerem może być też IIS. Zazwyczaj na pierwszych z wymienionych serwerów znajduje się parser PHP i baza MySQL. Na IIS głównie stoi ASP.NET (C#) sprzęgnięty z MS SQL Server.

Zazwyczaj, bo kombinacji jest wiele, jednak te są w miarę popularne i standardowe.

Czytaj podobne  Miliardy Wycieków Z Aplikacji Facebooka

Pierwsze pytanie więc: jaki serwer wybrać? Apacheowy czy IISowy? To zależy od kilku czynników. Jaki język wybierzemy?

ASP.NET i C# to świetne środowiska, naprawdę dobrze dopracowane, pozwalające korzystać z dobrodziejstw bogatych i przejrzystych (w większości) bibliotek .NET Frameworku. Z drugiej strony PHP też ma swoje zalety. Jest przystosowany do pisania aplikacji serwerowych, wszystkie funkcje są dostępne niemal bezpośrednio bez tworzenia niepotrzebnych obiektów (po co komu obiekty?).

Drugi czynnik to postawienie samego serwera. Serwer można postawić u siebie na własnym komputerze, albo czyimś. Można też kupić odpowiedni serwer, wynająć go, skorzystać z chmury albo zwykłego hostingu.

Stawianie serwera u siebie to wiele wyzwań np. musisz sam wszystkim administrować, aktualizować itd. Na początek to słabe rozwiązanie. Więc lepiej u kogoś mieć serwer. No a jeśli przyjrzymy się cennikom i kosztom hostingów to wychodzi, że najtańsze i najłatwiej dostępne są serwery z PHP.

Tutaj jeszcze można wybierać między chmurą, a zwykłym hostingiem. Ale na początek odradzam chmurę. Chmura pozwala łatwiej skalować grę, ale na początek zwykły hosting wystarczy, a nie musimy uczyć się obsługi chmury, APIsów i innych rzeczy.

Oczywiście serwer można postawić też ja Javie, czy też na Node.js (JS serwerowy). Serwer na Javie to ciekawe rozwiązanie, szczególnie gdy trzeba maksymalnie ekstremalnie przyśpieszyć komunikację między graczami. Z kolei Node.js to jeszcze dość nowa rzecz, żeby myśleć o niej w produkcji.

Załóżmy że piszemy grę niewymagającą wielu animacji np. planszową. Wtedy najlepszy pakiet to hosting z PHP i MySQL. Po stronie klienta JS. Później zresztą zobaczycie, że te części są łatwo wymienialne. Stronę serwerową można dosyć łatwo przepisać na inny język i platformę w zależności od potrzeb. Z kolei część kliencka może używać JS w połączeniu z AS czy Java tworząc dodatkową warstwę abstrakcji. Także raz napisana może być używana w wielu sytuacjach.

Czytaj podobne  Programowanie RMSBG na Facebooka cz. 5 – host gry

Warto dodać, że FB wspiera oficjalnie API które jest napisane właśnie w JS, więc to dodatkowy plus dla tego języka skryptowego.

Przeczytaj też

Najlepsza książka do Pythona Nie wiesz, z jakiej książki/ebooka uczyć się programowania w języku Python? Postanowiłem zrobić zestawienie 10 książek z Heliona na ten temat, abyś mó...
Komplet 28 ebooków i kursów, aby zostać programist... Od jakiegoś czasu dostaję zapytania na temat tego jakie książki, kursy i ebooki polecam. W związku z tym postanowiłem przygotować dzisiaj zestaw, któr...
120 tapet programistycznych za darmo do pobrania Trochę mi się nudziło, więc przygotowałem zestaw 120 tapet dla programistów. Możesz go pobrać. Tapety są w rozdzielczości 1366x768. Podzielone ...
10 fiszek do nauki programowania w Pythonie Uczysz się programowania w Pythonie? Pobierz te 10 fiszek, które ułatwią Ci zapamiętanie funkcji wbudowanych* w Pythona! Programowanie potrafi ...
Napisano w Kolumna Tagi: , , ,

Menu