Programowanie aplikacji webowych jest dla mnie nowością. Uczę się tego od paru miesięcy. Zaczęło się od Szybkośli, a teraz siedzę na Grono.net. W związku z tym postanowiłem zebrać rady i wskazówki, które wynikły z moich dotychczasowych doświadczeń, tak, aby nikt już nie musiał się uczyć na swoich błędach. Polecam lekturę i zachęcam do uzupełniania listy.
1. Pilnuj danych
Musisz pamiętać, żeby chronić dane użytkownika. Na przykład w aplikacji Gronocast można zaznaczyć ulubione podcasty. Żeby to zrobić trzeba zapisać w bazie id użytkownika gronowego i id podcastu. W Twojej bazie – więc chroń ją.
2. Aplikację trzymasz u siebie
Pliki aplikacji trzymasz u siebie na hostingu / serwerze. Kiedy użytkownik wchodzi do aplikacji na Gronie, Grono tak na prawdę odwołuje się do Twojej lokalizacji, mimo, że użytkownik tego nie widzi.
3. Optymalizuj
Jeżeli Twoja aplikacja ma być przeznaczona dla niewielu użytkowników – ok. Ale jeżeli chcesz podpić całe Grono to uważaj. Najbardziej popularna aplikacja ma teraz przeszło 100 000 użytkowników, może zabraknąć małp do obsługi takiego ruchu.
Optymalizacja to zapytania SQL (świetne narzędzie – explain), ograniczenie zbędnych zapytań do bazy danych, nieużywanie wielkich frameworków, używanie memcached, a do tego kesza opcode np. APC, XCache, albo eAccelerator. Ponadto – dobra konfiguracja serwera, najlepiej NGix albo Lighttpd, do tego konfiguracja PHP i bazy danych. Jak najmniej zapytań do bazy danych. Warto też keszować wyniki z zapytań do API Grona, bo one zabierają też kilkanaście milisekund.
4. Testuj obciążenie
Testy obciążenia można wykonać np. za pomocą aplikacji AB (Apache Benchmark). Dzięki nim upewnisz się, ile wytrzyma Twój hosting / VPS / whatever.
5. Betatestuj
Nim opublikujesz aplikację udostępnij ją wybranym użytkownikom. Bo kiedy już zostanie zatwierdzona każdy Gronowicz będzie widział błędy. Jak udostępnić aplikację betatesterom? Jest na to sposób 😉
Natomiast jeżeli chcesz testować sam nową wersję w czasie gdy użytkownicy korzystają z poprzedniej, musisz dodać nową aplikację w panelu developera.
6. Co lubią Gronowicze
Sprawdzają się wygodne aplikacje zintegrowane z wyglądem Grona. Poza tym dobrze jest jeżeli aplikacja skupia się na użytkowniku i jego znajomych a nie na całym Gronie. Nikogo nie obchodzi co robi osoba X której się nie zna. Grono zapewnia też kilka punktów integracji, które są kluczem do sukcesu: REST Server, dostęp z katalogu, dostęp z profilu użytkownika, dostęp mobilny, wersja dla niezarejestrowanych osób i wysyłanie wydarzenia do aktualności.
7. Mobilne aplikacje
Grono udostępniło niedawno platformę dla mobilnych aplikacji. Powstają już pierwsze z nich. Warto skorzystać z tej możliwości.
8. Na aplikacjach można zarabiać
A dokładnie można umieszczać w nich reklamy. Jest to trochę problematyczne, bo Gronowładni nie mają w serwisie reklam. Ale i tak jest to jakiś sposób aby koszty się zwróciły.
9. Grono wspiera zapytania asynchroniczne
Chodzi oczywiście o AJAXa.
Więcej rad wkrótce.

10. Daj sobie spokój z Gronem 😉
Grono naprawdę powinno udostępnić dodatkowy hosting na takie aplikacje.
Fajny artykuł :).
PS. Coś mało osób tutaj komentuje… :(.
@Jakub Anderwald
Nie widzę powodu, żeby rezygnować.
@Strzelec
Faktycznie, trzeba rozruszać dyskusję 🙂 Ciekawy pomysł z tym hostingiem – ale technicznie chyba niewykonalny.
Cóż, pisanie aplikacji na serwis który wygląda jak facebook a funkcjonalności ma chyba te same co 3 inne portale, nie ma jakiegoś pomysłu na rozwój i co chwile prowadzi jakieś walki wewnętrzne jest średnio przyszłościowe.
@Jakub
Wciąż szukam odpowiedzi na pytanie, co sprawia że społecznościówka staje się popularna . Zainspirowałeś mnie do napisania kolejnego posta o na ten temat. Ale muszę przedtem zrobić kolejny reasearch.