King of App

Wywiad z Xavierem Baratą z króla App

W ostatnich latach popyt na aplikacje mobilne wzrósł wykładniczo, a podaż programistów natywnych nie jest w stanie pokryć zapotrzebowania rynku na aplikacje. W związku z tą sytuacją tak się narodziło Król aplikacji, platforma open source, która pozwala w łatwy sposób tworzyć aplikacje mobilne. Xavier Barata, jej dyrektor generalny, opowiada nam, czym jest, jak do tego doszło i jakie technologie zastosowano w King Of App.

1. Co to jest King of App?

King Of App to WordPress aplikacji, pierwszy system zarządzania treścią typu open source, który umożliwia osobom bez znajomości natywnego programowania mobilnego tworzenie w pełni konfigurowalnych aplikacji. Osoby posiadające wiedzę z zakresu programowania sieciowego mogą po raz pierwszy uzyskać dostęp do kodu i modyfikować wszystko, czego potrzebują.

Stworzyliśmy unikalną technologię open source, która jest jak puzzle. Współpracuje ze wspólnym silnikiem, którego nie trzeba każdorazowo programować i pozwala na podłączenie 3 rodzajów części:

– Usługi: pomagają zarządzać aplikacją, zapewniając dostęp do analiz, usług logowania, powiadomień push, reklam itp.

– Szablony: umożliwia wprowadzanie zmian w projekcie aplikacji.

– Moduły: umożliwiają wstawianie i wyświetlanie w aplikacji dowolnej treści z dowolnego źródła.

2. Jak zrodził się pomysł?

Wszyscy z nas, partnerzy, wywodzimy się ze świata reklamy, mieliśmy już nawet własne agencje. Za każdym razem, gdy agencja prosiła nas o wycenę aplikacji, zostaliśmy odrzuceni, ponieważ były zbyt drogie.

Wszyscy nasi koledzy z branży mieli ten problem. Obecnie projektanci i programiści stron internetowych tworzą ponad 50 milionów stron internetowych każdego roku, a twórcy aplikacji tylko 500 000.

Ale projektanci stron internetowych i programiści nie mogą tworzyć aplikacji, ponieważ nie mają wystarczającej wiedzy i musimy szukać rodzimych programistów, którzy są nasyconi tak dużym popytem, dlatego ceny wciąż rosną.

Co więcej, wszystkie badania mówią nam, że rynek będzie rósł wykładniczo. Rynek ten porusza się rocznie o więcej niż $20B w 2015 roku i wszystkie prognozy mówią, że w 2017 roku wzrośnie powyżej $70B. Myślimy więc, jak to będzie, jeśli rodzimi deweloperzy będą nasyceni tak dużym popytem?

W obliczu tego problemu szukaliśmy rozwiązania w Stanach Zjednoczonych, podobnie jak w 2006 roku wdrożyliśmy Joomla i WordPress, ale nic podobnego nie znaleźliśmy. W tym momencie postanowiliśmy opracować go sami.

Nasza technologia pozwala projektantom stron internetowych i programistom tworzyć aplikacje z tą samą wiedzą, z jaką tworzą strony internetowe, dając im dostęp do rynku i rozwiązując ten problem, ponieważ średni koszt aplikacji wynosi 230 euro.

3. Czy każdy użytkownik może stworzyć aplikację, czy też musi posiadać pewną wiedzę?

Nasza technologia jest skierowana do profesjonalistów, jeśli prawdą jest, że do zrobienia aplikacji nie jest konieczna wiedza programistyczna, to naszą główną zaletą jest to, że ponieważ jest to oprogramowanie Open Source, każdy, kto zna HTML, CSS lub JavaScript, może dalej dostosować aplikację. Podobnie, jeśli użytkownik jest zaawansowanym programistą, może zintegrować elementy opracowane w Polymer, React JS,…

4. Ile czasu może zająć całkowite utworzenie aplikacji?

Jeśli masz przygotowaną treść lub zaimportujesz ją z CMS-a takiego jak WordPress, Joomla, Magento, Shopify itp. Proces tworzenia jest bardzo szybki i w 10 minut możesz mieć podstawową aplikację z powiadomieniami push, reklamami lub analizami i działać działa i jest gotowy do wysłania na rynek.

Chociaż poziom dostosowania aplikacji, jakiego oczekuje każda osoba, może różnić się czasem potrzebnym na utworzenie aplikacji, w zależności od jej złożoności.

5. Jaka jest zasadnicza różnica King of App w porównaniu do innych platform do tworzenia aplikacji?

Jesteśmy pierwszą platformą Open Source, co oznacza, że użytkownicy mogą uzyskać dostęp do kodu, aby dostosować to, czego potrzebują, lub stworzyć niestandardowe elementy i je złożyć.

Inną cechą związaną z Open Source jest to, że tworzenie aplikacji jest bezpłatne i nie umieszczamy żadnego typu marki aplikacji, a na naszym rynku możesz znaleźć większą różnorodność szablonów, które możesz później dostosować na podstawie kodu, jeśli chcesz i jesteśmy platformą z większą liczbą modułów na rynku.

W Marketplace możesz także jednym kliknięciem wybrać dostawców usług, dostawcę reklam, który może uzyskać największe przychody lub pomiędzy różnymi usługami powiadomień push, wybierając dostawcę według funkcjonalności lub ceny.

6. Opowiedz nam o stosie technologicznym King of App: języku programowania, bazach danych i integracji z innymi platformami.

Projekt jest podzielony na 4 różne części i każda z nich ma inną funkcjonalność, a co za tym idzie inny stack:

Pierwszym elementem jest kreator, czyli interfejs użytkownika, który pozwala w prosty sposób konfigurować aplikacje. Konfiguracja ta zapisywana jest w formacie JSON w celu późniejszego utworzenia aplikacji mobilnej. Jest kodowany przy użyciu stylów AngularJS i SASS.

Drugi element to wizualizator, będący kamieniem węgielnym projektu. Z pliku konfiguracyjnego generuje różne widoki i zachowanie aplikacji mobilnej. Jest tworzony za pomocą AngularJS, chociaż pozwala na użycie modułów wykonanych w Angular, Polymer lub jQuery.

Trzeci to KoApp Components, to seria komponentów HTML5 stworzonych przy użyciu Polymeru, które pozwalają na zmianę estetyki aplikacji w czasie rzeczywistym.

Ponieważ nasze aplikacje nie mają zdefiniowanego backendu, nie potrzebujemy, aby nasze moduły korzystały ze zdefiniowanej infrastruktury. Jednakże w przypadku naszej własnej bazy danych używamy MongoDB, z którego można korzystać poprzez interfejs API Rest napisany w NodeJS.

Infrastruktura jest hostowana na Amazon AWS i korzystamy z usług takich jak S3 do przechowywania plików, CloudFront do publikowania wszystkich plików publicznych, SQS do systemu zadań, którego używamy do automatycznej kompilacji i wiele więcej.

7. Jaka była pierwsza wersja King of App?

Pierwsza wersja była systemem zamkniętym, w którym nie istniało pojęcie wtyczek. To sprawiło, że był zbyt sztywny i w ogóle niemożliwy do dostosowania. Został zbudowany z Symfony2 (PHP) i MySQL.

8. Jakie było najważniejsze wyzwanie technologiczne, z jakim się spotkałeś do tej pory?

Sam projekt był dużym wyzwaniem pod względem technologicznym, nie mogłem poprzestać na jednej części. Chciałbym podkreślić:

  • Utwórz asynchroniczny i nadający się do ponownego użycia system ładowania modułów w AngularJS, który umożliwia także korzystanie z innych frameworków.
  • Mieć system elementów układu, które zachowują się dynamicznie.
  • Chroń technologię frontendową, aby zminimalizować możliwość pominięcia licencji użytkowania.

9. Jaki był Twój największy błąd technologiczny?

Tego nigdy nie można być pewnym, ale myślę, że rozwój mógłby zostać znacznie uproszczony, gdybyśmy użyli Angular2 do stworzenia asynchronicznego ładowania modułów.

Prawdą jest również, że kiedy zaczynaliśmy projekt Angular2, był on w bardzo niestabilnej wersji.

10. Jakie kolejne kamienie milowe rozwoju wyznaczyłeś?

Właśnie zebraliśmy 1,5 mln, które pozwolą nam powiększyć zespół, poszukujemy osób do 25-osobowego zespołu. Otwarte biura w Nowym Jorku, aby rozszerzyć naszą markę na rynek amerykański i rozwijać się jako społeczność Open Source.

Udział

pl_PLPolski