3 błędy w wyborze technologii aplikacji webowych, które zwiększą koszty o 100%


Przedstawiamy 3 błędy, których musisz unikać przy zleceniu aplikacji webowej jeśli chcesz otrzymać projekt w korzystnym czasie i cenie. Artykuł został przygotowany z pomocą eksperta w temacie aplikacji webowych. Tomasz Oszkiel jest CEO Poldevs Software House z doświadczeniem w wielu projektach aplikacji webowych zarówno jako osoba zarządzająca projektem jak również jako programista.

Błąd 1: Wybór niszowej technologii przez wykonawcę

Brzmi profesjonalnie: „użyjemy innowacyjnej, mało znanej technologii, bo jest bardziej nowoczesna”. W praktyce to prosta droga do problemów.

Jak sprawdzić, czy technologia jest niszowa?

Wejdź na popularny portal z ofertami pracy dla programistów i wpisz nazwę technologii. Jeśli znajdziesz setki ogłoszeń – to znak, że jest popularna i bez problemu znajdziesz specjalistów. Jeśli wyników jest mało lub nie ma ich wcale – uciekaj w przeciwnym kierunku.

Dlaczego niszowa technologia podniesie koszty?

  • Brak specjalistów – znalezienie wykonawcy za rok czy dwa będzie trudne.
  • Uzależnienie od jednego dostawcy – bieżący wykonawca może być jedyną osobą, która rozumie Twój system.
  • Wyższe stawki – im mniej ekspertów, tym drożej za ich czas.
  • Problemy z rozwojem – młodsi programiści nie będą mieli materiałów do nauki, a dokumentacja niszowej technologii będzie ograniczona.

Przekonaj się sam: spróbuj poszukać materiałów o React.js. Znajdziesz kursy, tutoriale, ogromną społeczność i tysiące ofert pracy. To właśnie oznacza popularną technologię. Dla porównania poszukaj czegoś o niszowych technologiach np. Knockout.js, Joose, Spine.js.

Rada: zapytaj wykonawcę, czy pracuje w popularnych technologiach, np. React.js, Next.js, Laravel i sprawdź ich popularność.

Błąd 2: Programowanie w czystym języku zamiast we frameworku

Niektórzy wykonawcy obiecują stworzenie aplikacji „od zera” w czystym języku, np. JavaScript lub PHP. Brzmi ambitnie, ale w praktyce oznacza większe koszty, dłuższy czas realizacji i większy poziom ryzyka.

Czym jest framework?

To zestaw gotowych narzędzi i bibliotek, np. Next.js (dla JavaScriptu) czy Laravel (dla PHP). Frameworki rozwiązują wiele powtarzalnych problemów – od zarządzania użytkownikami po integracje z bazami danych.

Porównanie do budowy samochodu:

  • Framework: składasz pojazd z gotowych części – masz koła, silnik, karoserię i możesz je dowolnie modyfikować. Auto powstaje szybko i tanio.
  • Czysty język: projektujesz i produkujesz każdą śrubkę, bieżnik opony czy kształt felgi od zera. Efekt? Drogo i długo.

Dlaczego framework jest lepszy?

  • Skraca czas programowania.
  • Zwiększa bezpieczeństwo dzięki sprawdzonym rozwiązaniom.
  • Ułatwia przyszłe modyfikacje i aktualizacje.

Rada: zapytaj wykonawcę, czy projekt powstanie w czystym języku czy we frameworku. Jeśli we frameworku – dopytaj, w którym.

Błąd 3: Chęć użycia WordPress do edycji aplikacji webowej

Zdarza się, że klienci oczekują, aby ich aplikacja webowa była edytowana tak samo jak strona na WordPressie – poprzez przesuwanie elementów w panelu.

WordPress świetnie sprawdza się do stron internetowych, ale nie do aplikacji, które wymagają:

  • znacznie bardziej rozbudowanego kodu,
  • znacznie wyższego bezpieczeństwa.

Dodanie edycji „jak w WordPressie” do aplikacji to tworzenie ogromnie skomplikowanego systemu, który generuje gigantyczne koszty, a w praktyce jest zbędny.

Rada: jeśli wykonawca proponuje panel WordPress jako narzędzie do zarządzania Twoją aplikacją webową z całą pewnością ma małe doświadczenie.

Jakie technologie wybrać?

Przede wszystkim podzielmy aplikacje webowe na trzy części, z których się składają:

  • odpowiadające za wygląd (frontend)
  • odpowiadające za mechanikę (backend)
  • odpowidajace za zapisywanie i utrzymywanie danych (baza danych).

Jeśli wybierzesz popularne technologie nie będziesz mieć problemu ze znalezieniem wykonawcy, zmiany będą postawać szybko, bez trudności, wykonawcy będą wyceniac nowe funkcje taniej. Dodatkowo wykonawcy aplikacji dla Twojej firmy będą bardziej zmotywowani do współpracy z Twoją firmą.

Frontend (warstawa wizualna)

  • postaw na Next.js jeśli aplikacja ma być widoczna w Google i planujesz działania SEO (np. ecommerce),
  • postaw na React.js jeśli aplikacja nie będzie widoczna w Google czyli jeśli jest np. dostępna po zalogowaniu.

React.js ma większą eleastyczność niż Next.js dlatego jeśli SEO nie jest brane pod uwagę lepiej wybrać React.js. Obie te technologie zapewniają bardzo szybkie przeładowania pomiędzy przechodzeniem na rózne widoki aplikacji.

Backend (warstawa mechaniczna)

  • postaw na Laravel – ma bardzo dużo gotowych rozwiązań takich jak logowanie i rejestracje użytkowników, integracje z bazami danych, łatwo znaleźć specjalistów w korzystnych stawkach.

Baza danych

  • postaw na PostgreSQL jeśli zależy Ci wysokim bezpieczeństwie.

Podsumowanie

Jeśli masz decyzję do podjęcia, została złożona Ci oferta, w której są wymienione technologie i mimo opisanych tutaj rad nie wiesz jaką podjąć decyzję zawsze możesz napisać wiadomość na LinkedIn do Tomasza Oszkiela, który pomógł przy tworzeniu tego artykułu z pytaniem o radę.