Począwszy od projektu Hackathon do odnoszącego sukcesy frameworku open source: Vladimir Kharlampidi, programista front-end, podzielił się swoim doświadczeniem w pracy nad frameworkiem7
Opublikowany: 2023-07-07Framework7 to projekt, który znacznie ułatwił życie wielu twórcom stron internetowych, ale na razie nie jest on wystarczająco omawiany.
Framework7 to intuicyjne i przyjazne użytkownikowi narzędzie do tworzenia różnorodnych aplikacji mobilnych, które bazują na HTML, CSS i JavaScript. Pomimo swojej wyjątkowości i aktualności, projekt jest dostępny całkowicie bezpłatnie. Społeczność twórców stron internetowych jest przekonana, że projekt nie ma wystarczającej ilości reklam. O Framework7 powinno wiedzieć jak najwięcej specjalistów.
Na Framework7 powstaje wiele stron internetowych, aplikacji mobilnych takich firm jak Wappler, Thorium Builder, WFM Buddy oraz aplikacji rządowych.
Framework7 to nie jedyny znany projekt zainicjowany przez Vladimira Hardampidiego. Deweloper znany jest również jako twórca slidera Swiper, czyli narzędzia do przewijania obrazków, tzw. „karuzeli obrazków”.
Przed rozpoczęciem pracy nad projektami Open Source (Open Source to oprogramowanie z otwartym kodem podstawowym, który jest dostępny do modyfikacji dokonywanych przez osoby trzecie bez naruszania praw autorskich), Vladimir pracował jako front-end developer w wielu różnych firmach, takich jak: ADV, Intern Avenue, FindersCrowd, CodersRank i Optimonk. Zrealizował wiele projektów dla znanych marek: Disney, Microsoft, McDonalds, Mercedes, Panasonic itp.
Dziś porozmawiamy z Vladimirem Kharlampidim o tym, jak powstał projekt, jakie ma zalety i znaczenie dla całej branży.
1. Masz 13 lat doświadczenia w Open Source i tworzeniu stron internetowych i to jest Twoja główna praca. Jednocześnie rozwój Open Source pozostaje hobby dla wielu ludzi. Jak udało Ci się przejść od freelancingu do pracy na pełen etat nad własnymi projektami?
Od samego początku inspirowałem się tworzeniem uniwersalnych produktów, które mogłyby ułatwić pracę wielu innym programistom. A gdy tylko moje projekty zaczęły zyskiwać na popularności, łatwiej było mi skupić się na własnych projektach Open Source, az czasem wielu programistów na całym świecie zaczęło z nich aktywnie korzystać. Ale nie zawsze tak było.
Zacząłem pracować jako front-end developer. Pracowałem jako freelancer, tworząc różne strony internetowe i aplikacje mobilne dla lokalnych firm. Współpracowałem z firmami ADV i Disney, dla których tworzyłem strony internetowe, gry i aplikacje dla dużych klientów, w tym Sony, wielu renomowanych banków, różnych sklepów internetowych itp.
Z powodzeniem współpracowałem również z wielokrotnie nagradzanym brytyjskim startupem Intern Avenue, który jest serwisem łączącym studentów i absolwentów poszukujących płatnych staży z potencjalnymi pracodawcami poprzez oparty na danych system oceny.
Mniej więcej w tym samym czasie stworzyłem Brief, czyli komunikator mający na celu uproszczenie komunikacji biznesowej poprzez agregację różnych kanałów sprzedaży w jednym miejscu. Równolegle z tym projektem pracowałem w szwedzkiej firmie FindersCrowd, która jest serwisem do efektywnego zarządzania rekomendacjami i poradami w organizacjach oraz współpracowałem z węgierskimi firmami CodersRank i OptiMonk.
2. Vladimir, czy mógłbyś nam powiedzieć więcej o Framework7 i sposobie, w jaki został stworzony?
W 2014 roku zdecydowałem się wziąć udział w corocznym hackathonie online Static Showdown (forum, na którym członkowie wspólnie pracują nad rozwiązaniem konkretnego problemu w ograniczonym czasie). Główny nacisk położono na tworzenie statycznych stron internetowych, aplikacji i gier przy użyciu wyłącznie HTML (język znaczników WEB), CSS (język renderowania stron internetowych) i JavaScript (język programowania), a wszystko to bez logiki po stronie serwera.
W tym samym czasie pojawił się iOS 7 z nowym „płaskim” wyglądem, który stał się wirusowy. Ale pomimo sukcesu i popularności takiego projektu, nie było jeszcze podobnych rozwiązań dla platform internetowych. Dlatego zdecydowałem się na zreplikowanie interfejsu aplikacji na iOS z wykorzystaniem technologii webowych jako projekt na ten hackathon.
Tak powstała idea Framework7. Chciałem stworzyć unikalną „ramę” przyszłej aplikacji webowej, która zawiera różne komponenty wizualne, takie jak listy, rozwijane okna, panele, przyciski, elementy formularzy, animacje i nawigację do tworzenia aplikacji webowych i „hybrydowych” mobilnych aplikacji, z wykorzystaniem najbardziej zaawansowanych technologii internetowych. Głównym celem projektu jest uproszczenie i przyspieszenie procesu tworzenia stron internetowych.
W tamtym czasie jQuery Mobile, czyli zestaw narzędzi do zarządzania zawartością stron WWW, był jednym z najpopularniejszych frameworków, ale już wtedy wyglądał na dość przestarzały i nigdy nie przeszedł na „płaski” design.
Stworzenie pierwszej wersji Framework7 zajęło mi około 48 godzin. I ten projekt wygrał w nominacji „Ulubiony tłum”.
Zaraz po zakończeniu hackathonu postanowiłem napisać post o moim projekcie na Hacker News, aby uzyskać opinie innych programistów i poznać ich osobistą opinię. Post szybko się wyprzedał, więc postanowiłem dalej rozwijać Framework7 jako narzędzie do tworzenia stron internetowych i aplikacji mobilnych.
3. Dlaczego programiści tak bardzo upodobali sobie Framework7? Jakie są jego główne zalety?
Framework7 stał się jednym z pierwszych w niszy „hybrydowych” aplikacji mobilnych. Wcześniej chcąc stworzyć aplikację na iOS i Androida trzeba było znać Swifta, Kotlina czy Javę, a dzięki Framework7 wystarczy podstawowa znajomość programowania webowego. Oznacza to więc, że nawet jeden programista jest w stanie stworzyć aplikację na iOS i Androida.
Oczywiste jest, że Framework7 oszczędza dużo czasu i zasobów dla programisty. Nawet początkujący specjalista jest w stanie tworzyć aplikacje mobilne.
Pomimo tego, że projekt został uruchomiony w 2014 roku, nadal nad nim pracuję, stale ulepszając, unowocześniając i aktualizując Framework7, aby sprostać najnowocześniejszym standardom sieciowym, aktualnym projektom i stylom wizualnym.
Mówiąc o głównych cechach Framework7, pierwszą z nich, o której warto wspomnieć, jest stabilna i szybka reakcja. Pomimo faktu, że niektóre drobne błędy mogą się nadal pojawiać, po pierwsze są one niezwykle rzadkie, a po drugie można je bardzo szybko naprawić.
Kolejną cechą, o której chciałbym wspomnieć, jest dostępność przejrzystej i szczegółowej dokumentacji, która zawiera wszystkie przykłady, opisy możliwych trudności i ich możliwe rozwiązania. Ponadto Framework7 ma wizualny i dostępny Kitchen Sink (baza wiedzy, zestawy narzędzi i definicje terminów), w którym zawsze możesz zerknąć, jak wszystko działa i dowiedzieć się, jakie komponenty są dostępne i jak działają.
Dlatego Framework7 nadal jest używany w tysiącach aplikacji mobilnych i internetowych, nawet na szczeblu rządowym. Na przykład był używany w oficjalnej aplikacji mobilnej do szczepień przeciwko COVID-19 podczas pandemii w Chile. Jednocześnie oficjalną stronę projektu (https://framework7.io) co miesiąc odwiedza 30 tysięcy programistów, a liczba odsłon przekracza 300 tysięcy.
4. Czy możemy twierdzić, że Framework7 zajmuje znaczące miejsce w branży?
Myślę, że Framework7 przez cały okres swojego istnienia zajmował stabilną pozycję na rynku. Dopiero niedawno dorobił się pierwszego konkurenta, którym jest firma Ionic. Nad tym startupem pracuje ogromny zespół i zainwestowano w niego wielomilionowe fundusze. Ale nawet pomimo tych wszystkich sprzyjających warunków, konkurencyjna firma ma znacznie mniej dostępnych komponentów UI (User Interface).
Najnowsza wersja Framework7 zaimplementowała już najnowszą wersję projektu Material You na urządzenia z Androidem, w przeciwieństwie do wspomnianego wcześniej Ionic. Zalety Framework7 dostrzega również wielu programistów, którzy pracują na dwóch platformach programowych. Według nich Framework7 ma znacznie lepszy komponent wizualny i implementację wielu istotnych funkcji.
5. Jakie są twoje plany na przyszłość?
Planuję dalej rozwijać swoje projekty. Pojawia się również pomysł na stworzenie konstruktora aplikacji mobilnych, gdzie nie jest wymagana znajomość programowania, tzw. rozwiązanie no-code. W ostatnich latach rośnie zapotrzebowanie na koncepcję „Low-code”, więc taki projekt będzie nie tylko przydatny, ale i trafny.