Szczegółowa analiza problemów z najważniejszymi problemami związanymi z tworzeniem stron internetowych

Zbiór obserwacji dotyczących najpoważniejszych problemów deweloperów, zebranych w ramach wielu rozmów.

Kilka miesięcy temu Paul Kinlan opublikował informacje o najważniejszych problemach dla deweloperów w 2021 roku, dlatego dobrym pomysłem jest rozpoczęcie tego artykułu od publikacji informacji z 2 ostatnich kwartałów. Liczby nieco się zmieniły, ale ranking nie uległ zmianie.

Wyzwanie I kw. 2021 r. II kw. 2021 r. III kw. 2021 r. Czwarty kwartał 2021 roku
nadążanie za zmianami platform internetowych i standardów internetowych; 27% 26% 27% 22%
nadążanie za dużą liczbą nowych i istniejących narzędzi lub platform; 26% 26% 25% 21%
Spraw, aby projekt lub interfejs działały tak samo w różnych przeglądarkach. 26% 28% 24% 21%
Testowanie w różnych przeglądarkach 23% 24% 20% 20%
Poznawanie i wdrażanie zabezpieczeń. 23% 25% 20% 19%

Jak wspomniano w poście na blogu Pawła, musimy rozwiązać te problemy. W ramach działań, które podejmujemy, Kadir Topal i moj kolega przeprowadzili wywiady z ponad 18 programistami. Naszym celem jest zbadanie i zrozumienie ścieżki do rozwiązania najczęstszych problemów deweloperów.

Dyskusje dla programistów

Wyłączenie odpowiedzialności: te statystyki są oparte na niewielkiej liczbie rozmów z deweloperami. Użycie słów „wszyscy” lub „niektóre” odnosi się do ankietowanych deweloperów, a nie do całej społeczności. Potrzebne są dalsze badania, które pozwolą na szerszą ekstrapolację tych informacji.

Rozmowy te uświadomiły nam, jak niesamowita i różnorodna jest społeczność programistów stron internetowych. Pragnę podziękować wszystkim deweloperom, którzy z nami się z nami rozmawiali. Niektórzy z nich mieli ponad 25 lat doświadczenia, a inne – dopiero w 2020 roku. Niektórzy programiści rozpoczynali karierę od formalnego dyplomu z informatyki, a inni rozwijali swoją karierę niezależnie. Niektórzy deweloperzy aktywnie szukają nowości i na bieżąco śledzą informacje o wersjach przeglądarki, podczas gdy inni dowiadują się nowych rzeczy od współpracowników i znajomych. Niektórzy uważają, że złożoność jest częścią pracy i lubią wyzwania, a inni po prostu chcą wykonywać swoją pracę. Kiedy zastanawiamy się nad rozwiązaniem tych problemów, warto pamiętać o tej różnorodności.

Jedną z rzeczy wszystkich deweloperów jest to, że do swojej pracy używają systemu CMS lub platformy. Twórcy wspomnieli o Wordpressie, React, Bootstrap, Angular i Tailwind. Żaden z programistów nie używał w wersji produkcyjnej platformy internetowej w stylu vanilla. Wybór struktury przy rozpoczynaniu projektu jest wyzwaniem, a deweloperzy często biorą pod uwagę inne wymagania techniczne. Czy na przykład łatwo jest zatrudnić programistę do pracy nad tym schematem. Jeśli rozwiązanie nie obejmuje platform ani systemów CMS, nie będziemy mogli rozwiązać problemów, z którymi mierzą się deweloperzy.

Skoro już mowa o platformie internetowej, większość programistów rozumie ją jako coś, nad czym pracują. Obejmuje to nie tylko klasyczną definicję platformy internetowej, ale także systemy CMS, platformy, narzędzia i kody polyfill. W wielu przypadkach najważniejsze są trudności, jeśli nadążasz za tymi zmianami. To zmieniło naszą interpretację tego pytania i wiemy, że musimy zaktualizować ankietę, aby podzielić ją na części, które są mniej wieloznaczne.

Kolejną niejednoznaczną kwestią jest definicja standardów internetowych. Gdy pytaliśmy o przykłady dotyczące utrzymywania standardów, wielu deweloperów wskazało, że ma trudności ze stosowaniem sprawdzonych metod. To jest kolejny obszar, który musimy doprecyzować w ramach ankiety.

Programiści szukają sprawdzonych metod przy wdrażaniu konkretnych przypadków użycia i wzorców. Posty na blogach i StackOverflow to źródła sprawdzonych metod, ale programiści często zastanawiają się, czy czytane informacje to sprawdzone metody i czy wciąż są zgodne z najnowszymi funkcjami i interfejsami API. Potrzebują bardziej oficjalnego źródła, aby je przeczytać.

Nadążanie za funkcjami i interfejsami API, które umożliwiają nowe zastosowania, to mniejszy problem. Deweloperzy mają więcej problemów z funkcjami, interfejsami API i zmianami na platformie, które prowadzą do zmian sprawdzonych metod.

Większość programistów zgadza się, że zgodność jest jednym z największych wyzwań. Dzięki takim działaniom jak Compat 2021 i Interop 2022 deweloperzy nie widzą jeszcze rozwiązania problemu.

Większość programistów używa kodu polyfill w jakiś sposób. Jednak w wielu przypadkach użycie kodu polyfill może zostać dodane automatycznie za pomocą narzędzi takich jak Babel czy platformy. Sprawdzenie, czy kod polyfill jest „dobry”, może być problemem dla osób, które same zarządzają swoimi kodami polyfill. Deweloperzy wspomnieli, że jako sygnałów używają liczby instalacji w NPM i twórcy kodu polyfill. Kilku programistów twierdzi, że pracuje nad usunięciem elementów polyfill, które stały się niepotrzebne z powodu rezygnacji z obsługi IE 11.

Platformy wprowadzają problemy z fragmentacją. Słyszeliśmy o tym, że deweloperzy „utknęli” w starszej wersji platformy i mieli ograniczony dostęp do funkcji z tego powodu. Jednak migracja na nowszą wersję tego samego środowiska może być kosztowna i trudna do uzasadnienia.

Podsumowanie

Nowoczesne tworzenie stron internetowych obejmuje wiele elementów, takich jak standardy, przeglądarki, biblioteki, kody polyfill, systemy CMS, platformy, sprawdzone metody i narzędzia. Ta różnorodność jest jedną z największych zalet internetu, ale w tej chwili to każdy programista indywidualnie musi wiedzieć, jak poszczególne elementy są ze sobą zgodne i jak są ze sobą zgodne.

Zastanawiam się, czy można znaleźć sposób na sprecyzowanie, jak wszystko łączy się ze sobą i w jakiś sposób, bez szkody dla różnorodności. To duży, złożony problem i trudny do wykonania jednocześnie. Ale od czego zacząć?

Jeśli masz punkty widzenia i opinie, którymi chcesz się podzielić. Chętnie porozmawiam z Tobą. Skonfiguruję sposób rezerwowania rozmów bezpośrednio, ale tymczasem moje czaty są otwarte na Twitterze. Umówmy się na rozmowę.