Wywiad z Barrym Hughesem
Opublikowany: 2022-07-21Treść posta
- Witaj Barry. Dziękuję za przeprowadzenie tego wywiadu. Proszę zacznij od opowiedzenia trochę o sobie.
- Co sprawiło, że zajrzałeś do WordPressa i kiedy?
- Dołączyłeś do zespołu Shopp (znana wtyczka sklepu WordPress E-Commerce) w czerwcu 2012 roku. Jak dotąd wyglądało to dla Ciebie?
- Pracujesz na PC, Mac? Jakiego oprogramowania używasz? Notatnik?
- Programujesz w PHP, C# i .NET. Czy uważasz, że dzięki temu jesteś silniejszym programistą, czy lepiej skupić się na jednym języku?
- Jakiego rodzaju testy masz/używasz do tworzenia WordPressa?
- WordPress jako platforma. Jakie są Twoim zdaniem zalety i wady WordPressa?
- Jakie masz dobre sztuczki dla innych autorów WordPressa? Sposoby pracy, wskazówki i triki itp.?
- Co można by ulepszyć w WordPressie z punktu widzenia programistów?
- Jaką przyszłość widzisz dla WordPressa jako całości?
- Jakie są Twoje plany na przyszłość?
Barry Hughes to szkocki programista WordPress z siedzibą w Kanadzie. Barry był na tyle uprzejmy, że odpowiedział na kilka pytań dotyczących siebie i swojej pracy.
Witaj Barry. Dziękuję za przeprowadzenie tego wywiadu. Proszę zacznij od opowiedzenia trochę o sobie.
Cóż, jestem bardzo, bardzo szczęśliwym żonatym ojcem dwójki dzieci, który ma szczęście spędzać większość dni na pisaniu kodu i piciu kawy. Mieszkam na wyspie Vancouver na kanadyjskim wybrzeżu Pacyfiku, ale tak naprawdę pochodzę ze Szkocji i nadal codziennie mylę ludzi swoim akcentem.
W tej chwili jestem całkiem pochłonięty WordPressem. Tworzę strony korzystające z WordPressa, utrzymuję i naprawiam strony korzystające z WordPressa, tworzę wtyczki, wspieram wtyczki innych osób i ogólnie świetnie się bawię. Poza oprogramowaniem i WordPressem lubię biegać po wzgórzach z moimi psami.
Byłem niezależnym programistą od około 6 lat, a wcześniej służyłem w siłach zbrojnych – ale moja miłość do zabawy z komputerami i sprawdzania, jak działa oprogramowanie, wyprzedza to wszystko i wraca do bycia małym chłopcem ze starym Komputer domowy Amstrad CPC. To było zabawne.
Co sprawiło, że zajrzałeś do WordPressa i kiedy?
Kiedy zaczynałem w tym biznesie, ledwo brałem pod uwagę statyczne strony HTML jako realną opcję. Korzyści i atrakcyjność systemów zarządzania treścią opartych na bazach danych były i są zbyt duże.
Oczywiście na początku trudno jest stwierdzić, który CMS jest „najlepszy”. I wciąż widzę ogromną dyskusję na ten temat: który CMS jest najlepszy? Czy Joomla czy Drupal są szybsze? Czy WordPress może być używany jako CMS, czy jest to tylko platforma blogowa? Nawet teraz przeżuwa się to samo.
Tak czy inaczej, wszystkie te lata temu czytałem te artykuły porównawcze i testowałem rzeczy dla siebie. Wiedziałem, że chcę, aby jeden z popularnych CMS-ów działał na stosie PHP/MySQL, a moje doświadczenie było po prostu takie, że mogę przejść od flasha do banga o wiele szybciej dzięki WordPressowi niż mógłbym, powiedzmy, Joomla lub Drupal.
Przez jakiś czas zajmowałem się Drupalem i ModX (zanim Rewolucja ModX naprawdę się rozkręciła), a nawet ukończyłem kilka projektów z obydwoma nimi – ale z różnych powodów oba wydawały się dezorientować moich klientów bardziej niż w przypadku WordPressa i obu. Stwierdziłem, że jest to trochę bardziej restrykcyjne dla klienta, jeśli chce sam sobie radzić. Dawanie klientowi wolną rękę to oczywiście miecz obosieczny, ale jest to również dobry punkt sprzedaży.
Dołączyłeś do zespołu Shopp (znana wtyczka sklepu WordPress E-Commerce) w czerwcu 2012 roku. Jak dotąd wyglądało to dla Ciebie?
Tak – a właściwie pracowałem z Ingenesis, firmą stojącą za Shopp, wcześniej jako członek zespołu wsparcia. W tej chwili jestem wolontariuszem, więc ilość czasu, którą mogę poświęcić na to przypływa i odpływa, ale to było wspaniałe doświadczenie.
W zespole wsparcia nie brakowało możliwości rozwiązywania problemów i pracy praktycznej z ogromną różnorodnością różnych środowisk hostingowych i instalacji WordPress, z których każdy jest dość wyjątkowy. Już samo to było niezwykle przydatne. W zespole programistów fantastycznie było mieć możliwość bezpośredniej pracy z kierownikiem projektu Jonathanem Davisem i kopania z nim pomysłów – i po prostu nawiązania kontaktu z całą społecznością.
E-commerce to dość gigantyczna dziedzina i żaden znany mi pakiet oprogramowania nie obejmuje każdego aspektu – więc bycie częścią ekosfery Shopp było również świetne z mojej perspektywy jako niezależnego programisty: regularnie zwraca się do mnie o tworzenie spersonalizowanych dostosowań lub rozszerzeń, w których sama główna wtyczka nie zapewnia zasięgu, co może rzucić wiele interesujących i unikalnych wyzwań.
Pracujesz na PC, Mac? Jakiego oprogramowania używasz? Notatnik?
Od dawna jestem fanem Ubuntu, ale zawsze trzymałem Windowsa w skrzydłach ze względu na wspaniałe narzędzia, które istnieją dla tego systemu operacyjnego. Chociaż ostatnio całkowicie przerzuciłem się na używanie Ubuntu, po prostu to uwielbiam.
Jeśli chodzi o oprogramowanie, używam IntelliJ IDEA firmy JetBrains jako mojego podstawowego IDE i nie wyobrażam sobie przejścia na nic innego, z wyjątkiem tych języków, których IntelliJ nie obsługuje bezpośrednio – takich jak C#. Większość czasu spędzam prawdopodobnie na przerzucaniu między tym (IntelliJ) a Chrome. Jestem wielkim fanem IDE i podobnie jak wiele innych eksperymentowałem z kilkoma – Eclipse, Netbeans i PhpEd (które chciałbym wyróżnić za szczególną pochwałę, chociaż to tylko Windows, więc już go nie używam) do umysłu.
Na szczególną uwagę zasługuje również XDebug. Nie tylko debuguję, aby rozwiązywać problemy, kiedy pojawiają się problemy, używam tego jako środka do zapoznania się z oprogramowaniem. Dobry debugger sprawia, że jest to tak łatwe, aby rozłożyć aplikacje na części i zobaczyć, jak działają pod maską. Debugowanie jest po prostu fantastyczne.
Programujesz w PHP, C# i .NET. Czy uważasz, że dzięki temu jesteś silniejszym programistą, czy lepiej skupić się na jednym języku?
Myślę, że ma to wpływ na to, jak piszę. Jeśli piszę w PHP, często brakuje mi na przykład silnego typowania i pracuję nad tym. Czy najlepiej skupić się na jednym języku? Możliwe, że tak, ponieważ gdy weźmiesz język razem z jego standardowymi bibliotekami, jest dużo bogactwa i głębi, które trudno jest opanować, jeśli ciągle przełączasz się między różnymi językami.
Oczywiście skupienie się na jednym języku to nie to samo, co używanie wyłącznie jednego języka i nie wyobrażam sobie na przykład zbyt wielu autorów wtyczek, którzy nie znają też choćby odrobinę SQL lub JS.
Jakiego rodzaju testy masz/używasz do tworzenia WordPressa?
Zależy od projektu, jak szybko muszę go wynieść za drzwi i od skali sprawy. Nie jestem fanatykiem testów jednostkowych i prawdopodobnie powinienem to robić więcej. To powiedziawszy, testy jednostkowe nie są srebrną kulą i wszystko zależy od jakości samych testów.
Na przykład widziałem testy jednostkowe, które sprawdzają, czy funkcja stylu tagu szablonu zwraca ciąg — a test przejdzie, nawet jeśli ciąg jest pusty. Nie sądzę, że jest to szczególnie pomocne i czasami wygląda to jak ćwiczenie z pokryciem kodu bez zastanowienia się, dlaczego to pokrycie jest potrzebne.
WordPress jako platforma. Jakie są Twoim zdaniem zalety i wady WordPressa?
To wszechobecne. To duża zaleta dla wszystkich, zarówno programistów, jak i użytkowników końcowych, ponieważ – przy tak dużej społeczności i wielu programistach w ekosystemie – rozszerzenia, usługi, zasoby szkoleniowe i pomocnicze są obfite, podobnie jak zdolność właściciela witryny do przejść od jednego programisty, agencji lub hosta internetowego do drugiego. Jest również darmowy i open source, co oznacza, że zyskuje dodatkowe punkty w moich oczach i bez wątpienia przyczyniło się to również do jego wzrostu.
Nie zgadzam się z tym, co uważam za dobrze utarty argument, że WordPress jest łatwy w użyciu. Nie sądzę, że jest to łatwe w użyciu dla wszystkich. Na przykład deska rozdzielcza jest ruchliwym, ruchliwym miejscem i wiele z niego jest wypełnione rozpraszającymi treściami, z których wiele osób w ogóle nie ma sensu.
Od jakiegoś czasu toczy się również debata na temat podziału odpowiedzialności między wtyczką a motywem – często skoncentrowana na motywach, które zawierają zadziwiającą liczbę funkcji, nie tylko związanych z prezentacją witryny. Myślę więc, że kolejną słabością jest to, że motywy i wtyczki nie są w stanie zadeklarować listy zależności (na przykład innych wtyczek), które mogłyby pomóc w złagodzeniu tego krzyżowania się obaw. Nie jest to trywialny problem do rozwiązania, ale myślę, że forma zarządzania pakietami byłaby tutaj krokiem we właściwym kierunku.
Jakie masz dobre sztuczki dla innych autorów WordPressa? Sposoby pracy, wskazówki i triki itp.?
Rozmowa z ludźmi – innymi autorami – i dowiedzenie się, dlaczego coś zrobili lub rozwiązali problem w określony sposób, jest bezcenne, niezależnie od tego, czy zgadzasz się z ich podejściem, czy nie. Zaangażowanie się w społeczność i pomaganie w kodzie innych osób oprócz własnego jest również niezwykle przydatnym ćwiczeniem edukacyjnym.
Co można by ulepszyć w WordPressie z punktu widzenia programistów?
Zarządzanie pakietami! Wtyczki i motywy powinny być w stanie powiedzieć „Jesteśmy zależni od wtyczki X!” a instalator powinien w magiczny sposób zająć się tym wszystkim. Omówiliśmy to już trochę i prawdopodobnie nie będzie to łatwy problem do rozwiązania. Poza tym lepsza kontrola deski rozdzielczej – przekształcenie jej w coś użytecznego i usunięcie plew byłoby dobrym posunięciem.
Jaką przyszłość widzisz dla WordPressa jako całości?
Zdecydowanie rozwija się i dodaje funkcje, ale wydaje się, że istnieje coś w rodzaju ruchu przeciwnego, którego celem jest utrzymanie go w prostocie i nie dopuszczenie do zbytniego nieporęczności. Wyobrażam sobie, że będzie to nadal silny CMS przez wiele lat, ale poza tym trudno powiedzieć.
Jakie są Twoje plany na przyszłość?
Obecnie pracuję głównie na witrynach z własnym hostingiem lub piszę fragmenty kodu, których ludzie mogą używać w witrynach z własnym hostingiem. Chciałbym jednak poświęcić więcej czasu na tworzenie niezależnych usług internetowych i być może zaangażować swój mózg w projekt, który używa zupełnie innego języka lub zestawu technologii niż te, do których jestem przyzwyczajony. To częściowo dlatego, że łatwo się nudzę, ale także dlatego, że po prostu uwielbiam odkrywać świat oprogramowania.
Podejrzewam jednak, że będę wracał do WordPressa jako znajomego miejsca do deptania.