Wersja 0.5 i nowe funkcje mojej aplikacji

Post navigation

Kodowanie

Wersja 0.5 i nowe funkcje mojej aplikacji

Już trzy miesiące tworzę swoją aplikację po godzinach. Od ostatniej wersji głównej (0.3) zmieniło się dość sporo, choć pewnie nie wielu mogło by zauważyć te zmiany. Pojawiły się nowe funkcje, zmniejszyła się liczba błędów.Poprawiłem znacznie wydajność, zmieniłem sposób liczenia niektórych kwot, zmieniłem wyświetlanie informacji by było bardziej przyjazne. Podjąłem też próbę podłączenia do aplikacji wielu języków – niestety odłożyłem to na późniejszy czas.

Logowanie

Kluczową zmianą jest metodyka logowania. Dołożyłem do aplikacji dwie metody – logowanie się przez Facebook i kontem Google. Znacznie przyspiesza to pozyskanie nowego zalogowanego użytkownika. Jeśli mamy już konto na FB lub Google wystarczy kliknąć w przycisk i jesteśmy już zalogowani do aplikacji. Podłączenie tych metod nie jest skomplikowane przy użyciu Firebase. Wystarczy utworzyć sobie klucze i aplikację na Facebooku. Piękna i czytelna dokumentacja zarówno pod Firebase jak pod API Facebooka czy Googla pomaga płynnie wejść w zagadnienie. Ciekawą rzeczą jest fakt, że w mojej aplikacji nie trzeba się rejestrować. Jeżeli nie masz konta, wystarczy kliknąć “Zaloguj przez FB” lub “zaloguj przez Google” i konto założy Ci się samo. Po zgodzie na autoryzację od razu będziesz zalogowany.

Optymalizacja

Okazało się z czasem, że aplikacja angularowa jest dość kobylasta jak na swój minimalizm. W wersji obecnej ładowanie około 40 plików JavaScript ograniczało znacznie wydajność aplikacji przy jej starcie. Chodzi oczywiście tu o pełne przeładowanie aplikacji bez zachowania czegokolwiek w pamięci przeglądarki. Trwało to około 3,5 sekundy. Zastosowałem tzw “bundling” plików JS i CSS. Jest to sklejanie i minifikowanie wszystkich plików (np. JS) użytych w aplikacji do jednego pliku. Użyłem do tego Gulpa. Sprawdza się to dość skutecznie, ponieważ czas ładowania strony spadł o około 2 sekundy (~60%?). Jest wiele szkół w tym temacie. Niektórzy sądzą, że jednak rozbicie skryptów na mniejsze pliki jest bardziej wydajne, jednak u mnie sprawdza się właśnie bundling.

Podłączenie domeny i https

Google dostarcza razem z Firebase narzędzie do hostowania swojej aplikacji na serwerach Googla. Dzięki temu zyskujemy dostępność aplikacji w szybszym czasie i łatwiejszą integrację z narzędziami czy API Googla. Serwery rozsiane po całym świecie zapewniają dostęp do naszej aplikacji z odległych zakątków w takim samym tempie. A co do integracji – istnieje możliwość bezproblemowego wykorzystywania wszelkich dobroci ekosystemu Google na potrzeby naszej funkcjonalności.

Z automatu dostajemy również szyfrowane połączenie HTTPS bez wykupu jakichkolwiek certyfikatów. Google poświadcza za nas, że aplikacja i przesyłanie danych jest bezpieczne i szyfrowane.

Design strony głównej

Landing page jest jednym z najważniejszych elementów komercyjnej aplikacji. Nigdy nie można porzucać tego fragmentu. To właśnie od tej części naszego systemu zależy czy użytkownik zarejestruje się w naszej aplikacji czy nie. Statystycznie użytkownik pozostaje na naszej stronie głównej jedynie 10 sekund od momentu kliknięcia w link. Landing page musi zostać tak zaprojektowany, aby jak najmniej czasu ładować tą stronę i jak najszybciej zainteresować użytkownika tym co mamy do zaoferowania, a w między czasie “namówić” go na to by się zarejestrował. Wiele rzeczy w bardzo krótkim czasie. Dlatego stworzyłem ładny i minimalistyczny landing page, by nie odrzucał na samym wstępie. By zachęcał. By użytkownik chciał zostać na dłużej niż 10 sekund.

0.5 – wersja tuż przed końcówką

Opublikowałem nową wersję. Ze wszystkimi nowymi bajerami. Oczywiście nie opisuję tu wszystkich poprawek, które dał skok o dwa oczka. 0.4 zwyczajnie było wersją stabilizującą i miało na celu wyzbycie się dotychczasowych poważnych i mniej krytycznych błędów aplikacji.

Zostało…

… podłączenie płatności. Płatności to nic innego jak możliwość przedłużania swojej subskrypcji konta premium, odnawiane automatycznie co miesiąc w formie swego rodzaju abonamentu. Prawdopodobnie podłączę tu PayU, ale zastanawiam się też nad PayPal, tak by użytkownik miał wybór. PayPal przyda się też jeśli wpłaty będą pochodziły z zagranicy. Natomiast bez obaw! Podstawowe funkcjonalności zostają bezpłatne, mimo nieopłacania pakietu Premium.