Wywiad z Milanem Petroviciem

Opublikowany: 2022-07-21

Treść posta

  • Cześć Milan i dziękuję za udzielenie tego wywiadu.
  • Czy mógłbyś opowiedzieć trochę o sobie, swojej historii i pochodzeniu?
  • Prawdopodobnie jesteś najbardziej znany ze swojej wtyczki GD Star Rating, która jest szeroko używana na wielu blogach WordPress w Internecie.
  • Wspomniałeś mi w pewnym momencie, że GD Star Rating to ponad 20 000 linijek kodu. Jak rozwijasz takiego potwora?
  • Jesteś twórcą innych dobrze znanych wtyczek, takich jak GD Press Tools, GD Simple Widgets i wielu innych. Który jest twoim ulubionym? I dlaczego?
  • Niedawno wprowadziłeś usługę Premium Support, w której można zatrudnić Cię za stawkę godzinową (4 godziny, minimum 100 Euro). Jakie było twoje doświadczenie z uruchomieniem tego? Czy nadal będziesz oferować tę usługę?
  • Dyskusja o komercyjnych biznesach opartych na WordPressie pojawia się raz na jakiś czas. Jakie jest Pana stanowisko w tej debacie?
  • Jak widzisz przyszłość WordPressa jako całości?
  • Jak widzisz przyszłość autorów WordPress i programistów motywów?
  • Czy widzisz przyszłość dla autorów WordPress i projektantów szablonów WordPress w sensie komercyjnym? Czy ludzie mogą zarabiać na życie pracując z WordPressem?
  • Jesteś doświadczonym autorem WordPressa, jak myślisz, co można by ulepszyć? Zarówno w sensie praktycznym/codziennym, jak i deweloperskim?
  • Twój kolega, Vladimir Prelovac, był tak miły i podzielił się kilkoma sztuczkami w Wywiad z Vladimirem Prelovacem, czy masz jakieś sztuczki dla autorów WordPressa, którymi chciałbyś się podzielić?
  • Jakiego oprogramowania używasz do rozwoju? Pracujesz na PC/Mac? Jakiego oprogramowania używasz? Notatnik?
  • Czy masz system szablonów podczas tworzenia wtyczek, czy też zaczynasz od „szarpaności”, że tak powiem?
  • Jak sądzisz, że WordPress jest łatwy w rozwoju? Jego zalety i wady?
  • Dziękuję za zrobienie tego krótkiego wywiadu i za podzielenie się swoimi przemyśleniami. Czy masz jakieś ostatnie słowa, z którymi chciałbyś nas zostawić?

Ten wywiad jest trzecim z serii wywiadów z wybitnymi programistami WordPress. Tym razem Milan Petrovic był na tyle miły, że odpowiedział na kilka pytań.

Cześć Milan i dziękuję za udzielenie tego wywiadu.

Witam Lars. Dziękuję za zaproszenie.

Czy mógłbyś opowiedzieć trochę o sobie, swojej historii i pochodzeniu?

milan-petrovic-avatar

Rozpocząłem pracę z Delphi jakieś 10-11 lat temu, aby tworzyć komputery stacjonarne. W 2002 (chyba) musiałem zrobić stronę internetową, szukałem technologii do użycia i znalazłem PHP. Jednak w tym samym czasie wymieniłem Delphi na C# w pierwszej wersji MS dot NET Framework.

Od 7 lat jestem programistą C# i PHP. W 2006 roku rozpocząłem pracę w ILUMNIS, serbsko-kanadyjskiej firmie. Pracują głównie z narzędziami programistycznymi Microsoft (C#, ASP.NET, MS SQL Server) i używają głównie ExtJS do frontendu aplikacji webowych.

Pod koniec 2007 roku tworzyłem nową stronę firmową i potrzebowałem platformy CMS tylko do obsługi newsów. Postanowiłem skorzystać z WordPressa (właśnie wyszedł 2.3). W tym czasie w wolnym czasie rozwijałem drobne rzeczy dla WordPressa, ale wkrótce wszystko się zmieniło i opublikowałem pierwszą wtyczkę (GD Pages Navigator). GD Star Rating nastąpił latem ubiegłego roku.

Przez około 8 miesięcy pracowałem na dwóch etatach, a przy kolejnych projektach WordPress zdecydowałem się opuścić Ilumnis. Od marca 2009 pracuję jako freelancer.

Prawdopodobnie jesteś najbardziej znany ze swojej wtyczki GD Star Rating, która jest szeroko używana na wielu blogach WordPress w Internecie.

Tak, GD Star Rating to bardzo udana wtyczka. Kiedy zacząłem nad nim pracować ponad rok temu, była to bardzo prosta wtyczka zrobiona dla znajomego. Istnieje tylko kilka wtyczek do oceny WP, a tylko jedna z nich była rzeczywiście dobra i regularnie aktualizowana (Oceny WP-Post Lestera Chana).

Jednak ta wtyczka jest bardzo ograniczona i potrzebowałem znacznie większej kontroli nad wszystkim, w tym ocenami komentarzy. Co więcej, bardzo wcześnie wiele blogów zaczęło z niego korzystać i przekazywało informacje zwrotne, więc liczba funkcji rośnie z czasem i będzie rosła. Mam w planach wiele nowych funkcji, które doprowadzą do GD Star Rating 2.0 w przyszłym roku.

Wspomniałeś mi w pewnym momencie, że GD Star Rating to ponad 20 000 linijek kodu. Jak rozwijasz takiego potwora?

Ta liczba jest teraz znacznie wyższa. Ma 39.000 linii (w tym CSS i HTML), z 25.000 linii PHP. To zdecydowanie dużo, ale wciąż możliwe do opanowania tylko dla jednego dewelopera. Wtyczka zawiera około 500 plików, a kod jest podzielony na małe kawałki, dzięki czemu łatwiej jest znaleźć, co i gdzie jest.

Co więcej, polegam na IDE, aby śledzić wszystko. Problemem jest rozmiar wtyczki i co najmniej dwa razy do tej pory musiałem przeorganizować kod i uczynić go bardziej logicznym. Biorąc pod uwagę wszystkie funkcje wtyczki, nie jest to zbyt duża liczba linijek.

Ponadto niektóre funkcje wtyczek okazały się bardzo skomplikowane w użyciu, więc planuję dodać kolejną funkcję, o nazwie Kreator, która pomoże w ustawieniu wtyczki za pomocą prostej procedury systematycznej konfiguracji, tak jak robią to wszystkie kreatory instalacji. Dodatkowo dodam ciekawą nową wizualizację głosów za pomocą Google Maps.

New Dev4Press Logo
Nowe logo Dev4Press

Jesteś twórcą innych dobrze znanych wtyczek, takich jak GD Press Tools, GD Simple Widgets i wielu innych. Który jest twoim ulubionym? I dlaczego?

GD Press Tools jest moim ulubionym, ponieważ jest to bardzo nietypowa wtyczka, która ma ponad 50 wbudowanych narzędzi i używam jej codziennie do celów debugowania, utrzymania czystości bloga i wielu innych. Wersja Pro zostanie wkrótce wydana i będzie oferować znacznie więcej, zarówno nowe funkcje, jak i rozszerzenie istniejących funkcji.

Chciałbym również wspomnieć o wtyczce o nazwie GD Affiliate Center. Ta wtyczka jest wciąż w fazie rozwoju i minie około miesiąca przed wydaniem. Świetnie się bawiłem pisząc to i eksperymentowałem z wieloma nowymi rzeczami, aby stworzyć lepszy i łatwiejszy w użyciu interfejs. Wtyczka została stworzona do zarządzania podmiotami stowarzyszonymi oraz ich banerami i linkami promocyjnymi, oferując łatwe w użyciu sposoby dodawania banerów do bloga, śledzenia wyświetleń i kliknięć i nie tylko.

Niedawno wprowadziłeś usługę Premium Support, w której można zatrudnić Cię za stawkę godzinową (4 godziny, minimum 100 Euro). Jakie było twoje doświadczenie z uruchomieniem tego? Czy nadal będziesz oferować tę usługę?

Obecne wsparcie premium dotyczy głównie GD Star Rating i robię co najmniej jedną lub dwie takie modyfikacje premium każdego tygodnia. Niektóre rzeczy w GDSR są skomplikowane, a niektórzy uważają, że dużo szybciej (i taniej) płacą mi za dostosowanie motywu i integrację GDSR.

Większość użytkowników WordPressa nie jest programistami, a niektóre bardziej złożone funkcje wymagające modyfikacji motywu nie zawsze są łatwe. Pracuję nad nową stroną internetową, która będzie oferować klasyczne wsparcie premium dla GDSR, które będzie obejmować tylko forum użytkowników premium, wsparcie e-mail, samouczki wideo i wiele innych. Mimo to będę dostępny dla bardziej szczegółowych integracji GDSR.

Dyskusja o komercyjnych biznesach opartych na WordPressie pojawia się raz na jakiś czas. Jakie jest Pana stanowisko w tej debacie?

Debata wokół GPL i WordPressa wciąż trwa, ale nie widzę w tym sensu.

WordPress jest na licencji GPL i nie ma już nic do zrobienia, więc zarówno projektanci, jak i programiści muszą to zaakceptować i używać, a jeśli im się to nie podoba, przejść na inną platformę, która nie jest objęta licencją GPL. Nawet z GPL biznes komercyjny jest nadal możliwy i żywy, nawet jeśli chodzi o tematy.

Wielu projektantów motywów (Woothemes, StudioPress, ElegantThemes…) przyjęło licencję GPL i nadal radzi sobie świetnie, ponieważ teraz sprzedają wsparcie dla swoich produktów, a użytkownicy wiedzą, że produkt, za który płacą, jest obsługiwany i stale rozwijany to bardzo ważne.

Z drugiej strony komercyjne wtyczki do WordPressa są rzadkością, ale można do nich zastosować tę samą zasadę. Ponieważ planuję wkrótce wydać kilka takich wtyczek premium, a Ty masz wtyczki premium, byłoby miło, gdyby WordPress.org rozpoznał to, tak jak w przypadku motywów.

Jak widzisz przyszłość WordPressa jako całości?

Myślę, że WordPress idzie w dobrym kierunku (w większości). Core jest rozwijany przy pomocy i opinii społeczności, a to jest bardzo ważne. Połączenie projektów WP i WPMU ogłoszonych kilka miesięcy temu jest również dobrą rzeczą i ułatwi tworzenie i utrzymanie bardziej złożonych stron internetowych. Ponieważ liczba użytkowników rośnie każdego dnia, WordPress jest obecnie najszybciej rozwijającą się platformą CMS.

Jak widzisz przyszłość autorów WordPress i programistów motywów?

Dobrą rzeczą jest to, że rdzeń WordPressa pozostanie prosty, a wiele funkcji (niektóre nawet wymagane jako standardowe funkcje podstawowe) zostanie pozostawionych autorom wtyczek. Świetnym znakiem jest też stale rosnąca liczba projektantów i nowych firm pracujących nad motywami WordPress.

Czy widzisz przyszłość dla autorów WordPress i projektantów szablonów WordPress w sensie komercyjnym? Czy ludzie mogą zarabiać na życie pracując z WordPressem?

Zdecydowanie. Jestem freelancerem i pracuję tylko z i dla WordPressa i nie zamierzam przenosić się na żadną inną platformę. Dostaję więcej ofert na projekty niż jestem w stanie obsłużyć. Wiele firm przechodzi na WordPress, zawsze potrzebują specjalnych i niestandardowych rzeczy, wtyczek, rozszerzania motywu lub czegoś innego, a jest dużo pracy, która jest idealna dla modelu freelancingu. Tworzenie darmowych wtyczek i motywów to świetny sposób na rozpoczęcie i zbudowanie reputacji, która w końcu zapewni Ci opłacanie pracy i projektów.

Przez ostatnie półtora roku stworzyłem około 20 wtyczek dla różnych klientów, a niektóre z tych wtyczek były bardzo złożone i drogie. Pod względem komercyjnym WordPress to świetna platforma.

Jesteś doświadczonym autorem WordPressa, jak myślisz, co można by ulepszyć? Zarówno w sensie praktycznym/codziennym, jak i deweloperskim?

Na WordPress 2.9 jest już za późno, ale WordPress 3.0 musi mieć nowe zarządzanie i interfejs dla postów/tagów/kategorii/taksonomii. Obecny interfejs jest dobry dla mniejszych blogów, ale spróbuj zarządzać blogiem z 10.000 postami z 20.000 tagami i 500 kategoriami. Ponowne przypisywanie postów do kategorii jest bolesne przy obecnym interfejsie. Jest kilka wtyczek do tego, ale przykro mi to mówić, żadna z nich nie jest dobra. Należy to rozwiązać w rdzeniu WordPress. Z punktu widzenia programisty WordPress 3.0 nie powinien obsługiwać PHP4. Ostatnio miałem problemy z GD Star Rating i PHP starszym niż 4.4.9 i bardzo trudno jest testować z tak przestarzałym i nieobsługiwanym już oprogramowaniem.

Byłoby również miło, gdyby programiści WordPress stworzyli łatwy w użyciu zestaw kontrolek do budowania strony administracyjnej dla wtyczek (dla siatek, ustawień i innych). W tej chwili musisz usunąć rzeczy z domyślnych paneli WordPress.

Twój kolega, Vladimir Prelovac, był tak miły i podzielił się kilkoma sztuczkami w Wywiad z Vladimirem Prelovacem, czy masz jakieś sztuczki dla autorów WordPressa, którymi chciałbyś się podzielić?

Zawsze pisz wtyczki używając klas PHP. Nawet przy najprostszych zadaniach znacznie łatwiej jest kontrolować kod. Jeśli twoje wtyczki zaczynają się rozrastać, nie ma możliwości utrzymania funkcji na swoim miejscu, a klasy są do zrobienia. Postaraj się jak najlepiej udokumentować kod. Używam programu DoxyGate, który potrafi przeszukiwać kod źródłowy i generować pliki HTML (lub PDF, CHM) z twoją dokumentacją. DoxyGate można zintegrować z NetBeans dla łatwiejszego użytkowania.

Dołączam takie pliki HTML do wszystkich moich wtyczek. Użytkownikom końcowym łatwiej jest dowiedzieć się, jak korzystać z wtyczki, jeśli mają udokumentowane funkcje w łatwym do odczytania pliku. Użyj również SVN lub innego systemu wersjonowania. I rób regularne kopie zapasowe wszystkiego, co robisz.

Jakiego oprogramowania używasz do rozwoju? Pracujesz na PC/Mac? Jakiego oprogramowania używasz? Notatnik?

Posiadam komputer stacjonarny i laptop, oba z systemem Windows, a pracuję głównie na laptopie (Lenovo SL500). Używam NETBeans IDE 6.8. Świetnie nadaje się do PHP, HTML i CSS. Również projekty WordPress działają świetnie, a NETBeans mapuje wszystkie funkcje i klasy z WordPressa, co jest bardzo ważne dla szybkości i komfortu programowania.

Używam HeidiSQL i phpMyAdmin do dostępu do bazy danych, Tortoise do dostępu do SVN (NETBeans ma również wbudowaną obsługę SVN), Notepad++ i WinMerge do różnych zadań. Dodatkowo wszystkie moje projekty trzymam na SVN.

Czy masz system szablonów podczas tworzenia wtyczek, czy też zaczynasz od „szarpaności”, że tak powiem?

Mam kilka systemów szablonów wtyczek, których używam, w zależności od wtyczki, którą opracowuję. Bardziej złożone opierają się głównie na strukturze GD Star Rating. Mam bibliotekę tych samych podstawowych klas i funkcji, których używam w każdym projekcie (instalacja DB, debugowanie, funkcje na każdą potrzebę, przesyłanie i manipulowanie obrazami). Boli jest za każdym razem zaczynać od zera, a wiele elementów powtarza się w każdym projekcie, dlatego konieczne jest posiadanie projektu startowego.

W zeszłym roku zacząłem rozwijać GD Plugin Core, który był bazą dla wtyczki, która zawierała nawet kreatora zdolnego do wygenerowania w pełni działającej wtyczki: ustawiasz nazwę wtyczki i kilka innych rzeczy, a wtyczka generuje folder ze wszystkimi potrzebnymi plikami, wszystkie rozszerzające podstawowa klasa podstawowa. Jednak ta wtyczka nie jest już obsługiwana. Może kiedyś wrócę do tej pracy.

Jak sądzisz, że WordPress jest łatwy w rozwoju? Jego zalety i wady?

W porównaniu z Joomla czy Drupalem znacznie łatwiej jest programować pod WordPress. Jednak wiele rzeczy nie jest tak dobrych z punktu widzenia dewelopera. Niestety motto WordPressa: Code Is Poetry nie może być zastosowane do WordPressa jako całości.

WordPress ma zbyt wiele funkcji, wiele z nich robi to samo; funkcje używają różnych specyfikacji parametrów, które czasami mogą być mylące. W klasach musi być więcej funkcjonalności. Niektóre rzeczy nie zmienią się, aby zachować zgodność ze starymi wersjami wtyczek, motywów i WordPressa.

Niemniej jednak, kiedy już przyzwyczaisz się do tych rzeczy, nie są one takie złe. Każdy system ma podobne problemy i nie można znaleźć idealnego.

Dziękuję za przeprowadzenie tego krótkiego wywiadu i za podzielenie się swoimi przemyśleniami. Czy masz jakieś ostatnie słowa, z którymi chciałbyś nas zostawić?

Dziękuję za możliwość Lars, to była przyjemność.