Człowiek chciałby się nauczyć Tworzyć aplikacje internetowe i nie ma pojęcia od czego miałby zacząć naukę, ani co można zrobić w którym języku. Nie ma pojęcia, jak się uczyć, choć na temat tworzenia stron i każdej innej dziedziny jest multum kursów i darmowych poradników.
Żeby stworzyć dynamiczną stronę w PHP.. obłęd. Jak człowiek w trakcie szukania info, trzeba znać HTML, żeby dodać slajder, trzeba się orientować w jQueryrmacji natrafi jeszcze na programowanie pod facebooka, CMS-y czy szablony responsywne, zaczyna panikować. Od czego zacząć?
Kiedy zaczynałem naukę, nie miałem pojęcia czego uczyć się w pierszej kolejności, gdzie szukać informacji, jak stworzyć jakąś listę, hierarchię, drzewo umiejętności, jak w ogóle się uczyć, kedy nie ma nauczyciela. Wielokrotnie zadawałem sobie pytanie: „co jest niezbędne i do czego?”.
Przecież nie da się nauczyć wszystkiego naraz, prawda? No ale próbowałem, nie mając za bardzo wyjścia. Wiedziałem że chcę się tym zajmować, że są ludzie, którzy to potrafią, więc jakoś trzeba się tego nauczyć.
Zamiast uczyć się podstaw okazało się, że uczę się historii.
Przerobiłem kilka darmowych kursów HTML i CSS, znalezionych w sieci (przerobiłem dużą część np. tego poradnika), dowiedziałem się jak budować strony za pomocą ramek i tabel, a potem dowiedziałem się że tego się nie stosuje.
Nauczyłem się tworzyć proste strony statyczne, a później okazało się, że statyczne strony to prehistoria w informatyce. Bałagan w mojej głowie już na tym etapie całkowicie mnie zniechęcił, a do tej pory udało mi się zaprojektować graficznie jeden projekt. Żeby było śmiesznie, zrobiłem to w programie Microsoft Word.
Pierwszy projekt strony www
W gimnazjum na informatyce zrobiłem swoją pierwszą stronę WWW w środowisku MS FrontPage. Wtedy dowiedziałem się, że podstawą tworzenia stron internetowych jest znajomość HTML. Po latach muszę się z tym zgodzić.
Jednak profesjonalne, funkcjonalne projekty to tylko HTML. To zlepek różnych języków, różnych technologii i systemów zarządzania. Być może da się nauczyć tego wszystkiego z kursów, ale jeśli chcesz posiąść całą wiedzę webmasterską, zanim wdrożysz swój pierwszy projekt, to mogę Ci życzyć tylko powodzenia.
Nauka przez praktykę
Jeśli miałbym doradzić, od czego zacząć, to radzę po prostu zacząć. Zamiast podchodzić do tematu pod kątem: „żeby tworzyć strony internetowe muszę umieć CSS, Ruby, MSQL…” i całą masę innych technologii, podejdź do sprawy tak: „Chcę zrobić bloga. Co potrzebuję?”
W tym momencie możesz śmiało zacząć tworzyć listę rzeczy, które trzeba wykonać w odpowiedniej kolejności, na przykład:
Lista rzeczy do zrobienia przy wdrażaniu bloga:
Projekt graficzny – najlepiej zacząć od rozrysowania go z grubsza ołówkiem na kartce, potem przenieść nasze dzieło do Photoshopa. Wypisać strony, które potrzebujemy mieć na naszym serwisie:
Strona główna
Strona kontaktowa
Strona z wpisami
Galeria
Pociąć projekt i przekodować na statyczne strony HTML
Statyczne strony zamienić w dynamiczne. Elementy, których nie da się zrobić w html, zamienić na PHP/Ruby. Takie, których się można wykonać w PHP, napisać w jQuery, I tak dalej.
Jeśli to wskazane, przerobić projekt pod jakiś CMS, lub napisać własny system zarządzania treścią
Zająć się optymalizacją witryny pod kątem użyteczności i SEO.
Co Ci da taki plan? Ano choćby to, że teraz nie zastanawiasz się, co trzeba umieć, żeby stworzyć stronę. Nie zadajesz pytań typu: czy lepiej znać PHP czy Ruby? Teraz wiesz co chcesz zrobić i twoje pytania przybierają formę: „Jak wykonać dany element?”
Przykładowo:
Stworzyłem projekt w Photoshopie, więc zastanawiam się, jak go pociąć? Następnie szukam informacji na ten temat, a kiedy je znajdę, tnę projekt na kawałki.
Mam już pocięty projekt, ale nie wiem jak stworzyć fajne wielopoziomowe menu, szukam informacji na ten temat. Następnie otwieram plik ze stylami i koduję. Radzę wykonywać jeden mały etap, a następnie sprawdzić, czy nie popełniliśmy błędu. Może się okazać, że po napisaniu zbyt wielu linii kodu bez upewnienia się czy jest poprawny stracimy dużo cennego czasu na szukaniu problemu.
W ten sposób okazuje się, że zaczynając jakiś projekt z wiedzą niemal zerową, kończę go ze znajomością kilku technologii czy języków na co najmniej podstawowym poziomie.