Start z aplikacjami webowymi

0

Witam, studiuje na pierwszym roku infy, ale chcialbym się zająć po godzinach czymś bardziej pożytecznym. Interesowałyby mnie aplikacje internetowe, tylko trudno mi ułożyć jakis plan działania,tego co zacząć ogarniać w tym celu. W miarę łapię Jave, a przynajmniej przypadl mi do gustu ten język. Gorzej z html i resztą. Byłbym ogramnie wdzięczny za jakieś sugestie z czym ruszyc do przodu albo ogolne informacje jak to wszystko po kolei wygląda. Poza tym mam pytanie jakie znaczenie ma algorytmika w webie, takie samo jak w przypadku innego oprogramowania?

Pozdrawiam i z góry dzięki za odpowiedzi

0

Bez HTML-a nie masz nawet co zaczynać z aplikacjami webowymi, bo to podstawa, jedyny popularny język opisywania informacji na stronach internetowych. Ale jest prosty, da się nauczyć w kilka godzin. CSS służący do opisu wyglądu aplikacji jest nieco trudniejszy, ale też do opanowania. Obecnie dość przydatny jest też JavaScript, który z Javą ma wspólną tylko część nazwy.

Java ma jakieś narzędzia do tworzenia aplikacji webowych - Java Server Pages na przykład.

3

@Ktos mowi oczywiście o podstawach podstaw, być może wystarczających back-endowcom (javowcom). Nie da się nauczyć HTML-a 5 w parę godzin tak, żeby w miarę swobodnie go używać i nie tworzyć crapu. Semantyka jest trochę za bardzo skomplikowana. Pojęcie oddzielenia struktury (HTML) od prezentacji (CSS) wymaga trochę więcej zachodu i być może znajomości podstaw obu tych języków.

HTML jednak jest ze wszystkich trzech najprostszy do nauki. Jeśli robiłbyś tylko backend, czyli kod po stronie serwera, to podstawy HTML-a musisz znać, ale bez jakiegoś wielkiego parcia. HTML stworzą ci i tak frontendowcy. Będziesz tylko musiał powstawiać go w JSP-ki, dlatego musisz mniej-więcej wiedzieć, o co w nim chodzi.

Gorzej, jeśli będziesz miał sam klepać całość aplikacji webowej: zarówno frontend, jak i backend. Wtedy wypadałoby głębiej rozumieć języki frontendowe. Bo jak nie, będziesz miał lipny kod o małej dostępności i będziesz miał spore problemy z uruchomieniem aplikacji np. w IE. Z wersją 8 włącznie.

Kwestie kompatybilnościowe dotyczą szczególnie CSS (choć akurat z HTML-em 5 też jest problem...). Ciężej ogarnąć CSS niż HTML. Nawet podstawy -- reguły kaskadowania, specyficzność itp. -- zajmą trochę czasu. Możesz to olać i kodować na hurra, ale wtedy będziesz strasznie klnął na język. "Czemu mi to nie działą?!", "czemu CSS jest tak głupi?!". Tymczasem reguły rządzące CSS mają logiczne uzasadnienie, przydatne w rozmaitych przypadkach, na które być może jeszcze nie natrafiłeś na etapie klnięcia. To by była wyłącznie Twoja wina, że kodujesz w języku, którego nie chciało Ci się nawet poznawać ;).

Porządne zakodowanie layoutu, tj. odwzorowanie projektu graficznego za pomocą HTML-a i CSS, nie jest takie proste i nauka zajmuje przeważnie co najmniej miesiące. Chociaż nie: przeważnie to ludzie idą wcześniej do agencji interaktywnej, w której nie ma czasu na naukę i po X latach nadal tworzą kwiatki typu menu składające się z diva z wrzuconymi luźno linkami, pooddzielanymi znakiem "|". Z elastycznością i dostępnością ma to niewiele wspólnego.

Z JavaScriptem jest podobnie jak z każdym innym językiem zupełnie innym niż ten, który znasz do tej pory. JavaScript znacznie różni się od Javy czy C++. Zupełnie inne jest dziedziczenie, koduje się zupełnie inaczej dzięki funkcyjności i bardzo dynamicznej typizacji. Spróbuj używać go jak Javy, to raczej polegniesz, a na pewno będziesz miał (głupie) pretensje, że z JavaScriptu jest bardzo marna Java. Tymczasem nikt Ci nie obiecywał, że wszystkie języki, których będziesz się miał nauczyć, są podobne. JavaScript nie jest i polecam przyjąć to do wiadomości i poświęcić mu trochę czasu lub w ogóle w nim nie kodować i zostawić to kompetentnym osobom.

Ale ponownie: jeśli robiłbyś sam backend, to z JS-em nie będziesz miał (prawie) styczności.

Co do algorytmów, to jest różnie.

Często jest tak, że korzysta się z nich mało lub prawie wcale (mówię o formalnych, skomplikowanych algorytmach, bo oczywiście zawsze używasz jakiegoś algorytmu). Z drugiej strony: Google jest po stronie back-endu całkiem skomplikowane algorytmicznie, co nie? Możesz trafić np. na analizę/rozpoznawanie obrazów czy dźwięku, skomplikowane, heurystyczne algorytmy grafowe (np. wyszukiwarki)... A możesz też trafić do przytulnej korporacji i zamiast z algorytmami walczyć z rozkładem oprogramowania na setki tysięcy linii kodu.

0

Jak już ktoś wyżej napisał, bez technologi webowych ani rusz, prędzej czy później i tak cię ona dopadnie, wykorzystywana jest wszędzie. Możesz nauczyć się typowo programowania desktopowego: C++, Delphi itp. ale z czasem będziesz potrzebował skorzystać ze świata wirtualnego, a tutaj już hulaj dusza :)
Technologię webową możesz zawsze podpiąć pod - jak to opisałeś w swoim poscie - JAVA, czyli siłą rzeczy może to być JavaScript, HTML, PHP, a nawet ADOBE FLEX którego ostatnio nagminnie używam :)

0

dzięki za wyczerpująca wypowiedź. Ruszę najpierw z HTML5, a potem będę myślał jak uniknąć CSS:) btw javascript ma jakies inne zastosowania poza różnymi upiększeniami? ostatnio ten node.js itd

Chyba coś źle zrozumiałeś. Ty nie myśl jak unikać CSS, ty pomysl, jak go pokochać!
To naprawdę dobre narzędzie, nie jest wcale tak trudny jak powyżej straszą ;) Jest po prostu kilka reguł, jak je znasz i się stosujesz to nie ma bólu. A możliwości przeogromne (http://www.csszengarden.com/).

Poza tym, do frontendu, zainstaluj Firebuga. Webdeweloperka bez firebuga ma dużo wspólnego z wkładaniem części ciała w tłuczone szkło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1