Jestem doświadczonym programistą Java i chcę stworzyć złożoną aplikację internetową wymagającą dynamicznych stron, rysunków itp. (Weź SO jako przykład). Czy muszę się uczyć javascript / html, aby utworzyć taką aplikację?
Nie chodzi o to, że nie chcę uczyć się innego języka (robiłem to już wcześniej), ale technologia w środowisku javascript wydaje się zmieniać tak szybko, że po zakończeniu nauki jednego frameworka jest już przestarzały. Sprawdziłem wiele frameworków Java do tworzenia stron internetowych (wiosna, zagraj), ale nie do końca. Więc czy te frameworki (lub inne możliwe frameworki java, o których nie wiem) mogą być używane bez uczenia się html / javascript? Mam też trochę doświadczenia w Pythonie. Więc jeśli mogę zrobić aplikację w Pythonie, jest to również opcja.
źródło
Odpowiedzi:
Nie musisz się uczyć JavaScript i HTML, aby tworzyć aplikacje internetowe.
Ale ty to zrobisz.
Jeśli naprawdę chcesz pisać aplikacje internetowe głównie w Javie, zapoznaj się z Google Web Toolkit , który obsługuje JS w ogromnej ilości Java i może zaspokoić sporą część kodu potrzebną do aplikacji internetowej. Django jest podobną strukturą dla Pythona.
A jeśli naprawdę chcesz uniknąć pisania HTML, istnieje ogromna ilość szablonów i edytorów What-you-see-is-what-you-get.
Ale widzisz, niezależnie od frameworku abstrakcji i szablonów HMTL, od których zaczynasz, w pewnym momencie będziesz niezadowolony z prezentacji. Dzięki temu będziesz mieć wystarczająco dużo HTML / JS na swoich rękach, aby zmienić jedną drobną rzecz, którą chcesz. I jeszcze jedna rzecz. I kolejny.
A pewnego dnia obudzisz się z zimnym potem.
I tak się nauczysz. Tak uczyło się wielu z nas w erze twórców witryn typu wskaż i kliknij, takich jak Geocities. Po pewnym czasie, jeśli poważnie myślisz o sieci, nauczysz się języków sieci, celowo lub nie.
Więc nie musisz uczyć się HTML i JavaScript, aby stworzyć witrynę taką jak StackOverflow. Ale jeśli naprawdę spróbujesz stworzyć stronę taką jak StackOverflow, nie będziesz w stanie powstrzymać się od nauki.
źródło
Zastanówmy się nad możliwymi rozwiązaniami scenariusza „Muszę zrobić kilka rzeczy w sieci”:
Zignorujemy nr 1, ponieważ jesteśmy tacy niesamowici. Pozostają nam dwie możliwości. Które wybrać, które wybrać ...
# 2 jest kuszące. Oznacza to, że możesz pozostać w strefie komfortu, co jest dość wygodne, zwłaszcza jeśli dodasz grząską maszynę i kilka kanap. Zastanówmy się jednak, co dzieje się z używaną strukturą:
Jesteś deweloperem, więc nie może być trudne rozważenie wszystkich możliwych sposobów, w jaki produkt (zwłaszcza biblioteka) może się zepsuć na wiele spektakularnych sposobów, rozrywając sofy i przewracając grząską maszynę, malując wszystko jasną magentą.
W każdym z tych scenariuszy musisz wrócić, aby ponownie rozważyć opcje omówione na początku odpowiedzi (tylko tym razem zastępując ramę w punkcie 2), z dodatkową czwartą opcją: Spróbuj naprawić ją na poziomie mikro . Innymi słowy, ucz się stosu stron w płytki sposób, niezbędny tylko do wspólnego rozwiązania tego konkretnego problemu.
Czy warto? Zależy. Możesz wierzyć, że ramy nigdy Cię nie zawiodą i możesz mieć rację. I możesz się mylić.
Proponuję rozwiązanie hybrydowe: Najpierw naucz się stosu internetowego. Nie musisz poświęcać na to dużo czasu, nie musisz być l33t h4x0rz, jak ten 14-latek z ulicy, który może dodawać blask do stron MySpace, wystarczy mieć podstawową wiedzę na temat tego, co jest dziać się. Następnie, jeśli uznasz, że jest to najlepszy scenariusz dla ciebie, wybierz strukturę.
Teraz Twoja strefa komfortu jest trochę większa. Może nawet dumnie wyświetlać telewizor lub album ABBA: Greatest Hits. Teraz, jeśli coś się zepsuje, będziesz wiedział, jak to naprawić. Teraz masz wybór . A wybór zawsze jest lepszy niż brak wyboru.
źródło
Czy absolutnie pozytywnie musisz ?
Nie.
Ale jeśli chcesz mieć umiarkowanie nowoczesną aplikację internetową, prawdopodobnie powinieneś. Są na to sposoby, ale są to abstrakcje tego, co naprawdę się dzieje. Jeśli nie masz nic przeciwko, to idź. Jeśli nie, musisz nauczyć się języka.
źródło
duża, złożona aplikacja internetowa jest bardzo trudna i żmudna do samodzielnego opracowania, nawet jeśli znasz już HTML i JavaScript.
moją radą byłoby poszukiwanie możliwości opracowania aplikacji internetowej z zespołem lub przynajmniej programistą.
w ten sposób koncentrujesz się na tym, co już dobrze znasz, i pozwalasz specjalistom wykonać front-end.
opracowanie interfejsu jest znacznie trudniejsze, niż się początkowo wydaje, na przykład ze względu na fakt, że interfejs musi działać w wielu różnych przeglądarkach w kilku systemach operacyjnych.
źródło
Dołączę do refrenu, mówiąc, że w pewnym momencie najprawdopodobniej będziesz musiał nauczyć się HTML / CSS / JavaScript.
Wydaje się jednak, że pytasz o frameworki, które nie wymagają pisania kodu front-end. Mogę nawiązać do tego sentymentu. Niestety, istnieje bardzo niewiele dojrzałych technologii, które to streszczają (z wielu dobrych powodów).
Spójrz na Wt i wersję JWt Java . To może być to, czego szukasz.
W skrócie, ta struktura próbuje uczynić aplikacje internetowe zorientowanymi na widżety, aby zamiast pisać szablony HTML, kodujesz interfejs użytkownika tak, jakby był aplikacją komputerową. Korzysta z niektórych nowych technologii, takich jak gniazda sieciowe, dokonuje progresywnego ulepszania i ogólnie abstrahuje od konieczności wykonywania wielu zadań.
źródło
Frameworki takie jak Spring i Play świetnie nadają się do obsługi logiki aplikacji, ale nawet nie odsuwają na bok konieczności tworzenia frontonu dla aplikacji WWW. Nie różni się zasadniczo od konieczności zbudowania frontonu dla aplikacji komputerowej, po prostu inne wykonanie.
To nie powinno cię zbytnio przerażać. Twój proces rozwoju będzie nadal w dużej mierze taki sam, z tym wyjątkiem, że musisz ubrać swoje dane w HTML i CSS zamiast w elementy graficznego interfejsu użytkownika. Możesz nauczyć się podstaw HTML i CSS w godzinach popołudniowych i możesz uczynić swój interfejs tak skomplikowanym lub tak prostym, jak tylko chcesz.
Radzę odwiedzać witryny podobne do tych, które zamierzasz zbudować, a następnie przejrzeć źródło HTML - poznasz sposób, w jaki strony te przepływają pod względem projektowania HTML.
źródło
Tak, aby stworzyć jakąkolwiek nowoczesną aplikację internetową, potrzebujesz co najmniej podstawowej znajomości HTML i umieć obsługiwać JavaScript. Korzystanie ze struktur dla języka takiego jak Python lub Java jest możliwe i można za ich pomocą zbudować większość funkcji witryny, ale nawet w przypadku strony podstawowej potrzebujesz trochę kodu HTML, ponieważ jest to jedyna rzecz, którą przeglądarka naprawdę rozumie do wyświetlania treści. Możesz w pewnym sensie uciec od nieznajomości JavaScript, ale to sprawi, że Twoja witryna będzie o wiele mniej przyjazna dla użytkownika, ponieważ będziesz musiał przeładowywać strony za każdym razem, gdy chcesz coś zaktualizować, a także stracisz bardzo przydatne narzędzie do zhakuj witrynę razem i rozwiąż problemy ze zgodnością przeglądarki i niedociągnięciami CSS.
Martwisz się trochę, jak wiele rzeczy się zmienia w tworzeniu stron internetowych, JavaScript tak naprawdę się nie zmienił, odkąd został zaimplementowany, a tak naprawdę jest tylko jedna znajomość frameworka JQuery, która naprawdę sprawia, że JavaScript jest o wiele przyjemniejszy w pracy. Większość innych szybko zmieniających się rzeczy jest naprawdę smakiem miesiąca i tak naprawdę nie musi być znana
źródło
Istnieją frameworki aplikacji internetowych, które usuwają HTML i JavaScript, ale szczerze mówiąc, lekarstwo jest często gorsze niż choroba. (np. Google Web Toolkit).
Wyświadcz sobie jednak przysługę i poznaj jQuery, CoffeeScript i / lub inne frameworki javascript, aby oszczędzić sobie najbardziej żmudnych szczegółów. Podobnie, rozważ użycie czegoś takiego jak Haml lub HamlPy do pracy z ładniejszą wersją HTML.
źródło
HTML jest językiem sieci, więc musisz go nieco znać.
Javascript nie tyle ... możesz także używać PHP itp. Javascript nie jest w 100% potrzebny.
Jeśli budujesz witrynę w całości, zdecydowanie polecam Javascript, ponieważ jest on obsługiwany przez wszystkie przeglądarki i zachowa zgodność między różnymi programami do przeglądania.
Ale jeśli tworzysz tylko aplikacje internetowe, dotyczy to znacznie mniej niż w przypadku tworzenia witryny internetowej.
źródło
Znajomość Javascript jest zaletą, ponieważ pomaga tworzyć aplikacje internetowe. Myślę, że HTML najlepiej jest mieć dobrą solidną wiedzę, a HTML5 jest fajny, ponieważ dobrze integruje się z CSS3 i JavaScript. Polecam przeglądanie kursów w Microsoft Virtual Academy.
Mają ponad 200 różnych opcji kursów i wszystkie są bezpłatne i prowadzone przez ekspertów. Osobiście skorzystałem z ich kursu na temat tworzenia aplikacji z HTML5. Powodzenia!
źródło
W krótkiej odpowiedzi TAK. Ale oto dlaczego HTML jest strukturą całej sieci, a JS to interakcja sieci. Wiem, że prawdopodobnie dużo o tym słyszałeś, ale bardzo ważne jest, aby wiedzieć. Niektóre frameworki pozwolą ci nie używać (lub nie używać dużo) HTML i JS, ale są one podstawami Internetu. Jeśli nie chcesz się uczyć kodu, zatrudnij kogoś. Wiem też, że nie było to w twoim pytaniu, ale popełniłem ten błąd, próbując stworzyć Twittera i Gmaila, o których myślałem, nie znając żadnego kodu i po prostu przeglądając samouczek.
Więc powodzenia!
źródło