Нужно ли изучать HTML и Javascript для создания веб-приложений? [закрыто]

10

Я опытный Java-программист, и я хочу создать сложное веб-приложение, требующее динамических страниц, рисунков и т. Д. (Возьмем SO в качестве примера). Нужно ли изучать javascript / html, чтобы создать такое приложение?

Дело не в том, что я не хочу изучать другой язык (я делал это раньше), но технология в среде javascript, похоже, меняется настолько быстро, что, когда вы заканчиваете изучать один фреймворк, он уже устарел. Я проверил ряд Java-фреймворков для веб-разработки (весна, игра), но не глубоко. Так можно ли использовать эти фреймворки (или другие возможные java-фреймворки, о которых я не знаю) без изучения html / javascript? У меня также есть некоторый опыт работы с Python. Так что, если я могу сделать приложение в Python, это тоже вариант.

vainolo
источник
22
короткий ответ: ДА! ...... длинный ответ: ДА !!!!!!!!!!!
rlemon
1
Дополнительные замечания: вам не нужны фреймворки, на самом деле, вы должны держаться подальше от них и библиотек абстракций при изучении Javascript. Библиотеки абстракций (по определению) не помогут вам выучить язык или API. Зайдите в комнату Javascript и задайте этот вопрос некоторым владельцам / завсегдатаям комнаты.
rlemon
1
Не на 100% один и тот же вопрос, но я всегда нахожу этот ответ полезным, когда люди спрашивают о «горячих клавишах». programmers.stackexchange.com/questions/122191/…
rlemon
3
нет, вы можете заплатить другим, чтобы сделать это
Джейсон Себринг
1
Это все равно что спросить: «Нужно ли мне знать Java для написания приложений для Android» или «Нужно ли мне изучать Objective-C для написания приложений для iOS» - вы можете избежать этого, но не писать нативный код причинит вам вред.
TehShrike

Ответы:

35

Вам не нужно изучать JavaScript и HTML для создания веб-приложений.

Но ты будешь.

Если вы действительно хотите писать веб-приложения в основном на Java, взгляните на Google Web Toolkit , который выполняет огромное количество Java для JS и может удовлетворить большую часть кода, необходимого для веб-приложения. Django - это похожая среда для Python.

И если вы действительно хотите избежать написания HTML-кода, существует огромное количество шаблонов и редакторов «что вы видите, то, что вам нужно».

Но вы видите, что независимо от структуры абстракции и шаблонов HMTL, с которых вы начинаете, в какой-то момент вы будете недовольны презентацией. И поэтому вы получите достаточно HTML / JS в ваших руках, чтобы изменить одну крошечную вещь, которую вы хотите. И еще одна вещь. И другой.

И тогда однажды вы проснетесь в холодном поту.

введите описание изображения здесь

И так ты научишься. Именно так многие из нас узнали, еще в эпоху создателей веб-сайтов типа «укажи и щелкни», таких как Geocities. Через некоторое время, если вы серьезно относитесь к сети, вы будете изучать языки сети, намеренно или нет.

Таким образом, вам не нужно изучать HTML и JavaScript, чтобы создать такой сайт, как StackOverflow. Но если вы действительно попытаетесь создать такой сайт, как StackOverflow, вы не сможете помешать их изучению.

Саймон Саррис
источник
1
Когда я впервые прочитал вопрос, мои мысли были точно такими же, как этот ответ. Но так как каждая технология имеет свои плюсы и минусы, вы можете посмотреть на programmers.stackexchange.com/questions/38441/…, прежде чем принять решение. Удачи!
Если вы не можете создать красивую презентацию только с помощью html / css, вы просто пропустили шину.
ot--
Гораздо сложнее использовать все, что вы изучаете, после того, как вы ввели катастрофу в свой интерфейс через CMS или действительно дурацкую доминирующую библиотеку, такую ​​как EXTJS.
Эрик Реппен
+1 Вам не нужно знать JS, и даже если вы будете сопротивляться, вы однажды узнаете это.
Спойк
16

Давайте рассмотрим некоторые возможные решения сценария «Мне нужно кое-что сделать в Интернете»:

  1. Наймите кого-нибудь еще, чтобы сделать это
  2. Используйте тщательно продуманную структуру, которая волшебным образом превращает не входные данные в интерфейсные (html, css, js)
  3. Сделай сам

Мы будем игнорировать # 1, потому что мы такие классные. У нас есть два варианта. Какой выбрать, какой выбрать ...

№ 2 заманчиво. Это означает, что вы можете оставаться в своей зоне комфорта, что довольно удобно, особенно если вы добавили слякотную машину и несколько диванов. Но давайте рассмотрим, что происходит с используемой платформой:

  1. Это глючит
  2. Это устаревает
  3. Это не полностью соответствует вашим ожиданиям
  4. Любая другая проблема, связанная с программным обеспечением.

Вы - разработчик, поэтому не должно быть сложным рассмотреть все возможные пути, которыми продукт (особенно библиотека) может быть разорван многими захватывающими способами, разрывая ваши диваны и опрокидывая слякотную машину, окрашивая все в ярко-пурпурный цвет.

В любом из этих сценариев вам придется вернуться, чтобы пересмотреть варианты, обсуждаемые в начале ответа (только на этот раз замена фреймворка в # 2), с добавленным 4-м вариантом: попробуйте исправить это на микроуровне. , Другими словами, изучите веб-стек поверхностным способом, необходимым только для того, чтобы собрать решение этой конкретной проблемы.

Стоит ли оно того? Зависит. Вы можете верить, что рамки никогда не подведут вас, и вы можете быть правы. И вы можете ошибаться.

Я предлагаю гибридное решение: сначала изучите веб-стек. Вам не нужно тратить на это много времени, вам не нужно быть 144-летним, как тот 14-летний подросток, который может добавить блеск на страницы MySpace, вам просто нужно иметь базовые знания о том, что продолжается. Затем, если вы видите, что это лучший сценарий для вас, выберите фреймворк.

Теперь ваша зона комфорта немного больше. Это может быть даже телевизор или альбом ABBA: Greatest Hits с гордостью демонстрирующийся. Теперь, если что-то сломается, вы будете знать, как это исправить. Теперь у вас есть выбор . И иметь выбор всегда лучше, чем не иметь выбора.

Zirak
источник
1
Проголосовал только за то, что заставил меня посмеяться. Это также хороший совет.
Эд Гастингс
1
За хороший совет. Это также заставило меня посмеяться.
rlemon
2

Вы абсолютно положительно должны ?

Нет.

Но если вы хотите умеренно современное веб-приложение, то вам, вероятно, следует. Есть способы обойти это, но они являются абстракцией того, что действительно происходит. Если ты в порядке с этим, тогда иди на это. Если нет, то вам нужно выучить язык.

Райан Кинал
источник
1

большое, сложное веб-приложение очень сложно и утомительно разрабатывать в одиночку, даже если вы уже освоили html и javascript.

Мой совет - искать возможность разработки веб-приложения с командой или, по крайней мере, с фронт-эндом разработчиком.

таким образом, вы концентрируетесь на том, что вы уже хорошо знаете, и позволяете специалисту делать фронтенд.
Разработка внешнего интерфейса намного сложнее, чем кажется на первый взгляд, например, из-за того, что внешний интерфейс должен работать во многих различных браузерах на нескольких операционных системах.

kr1
источник
1

Я присоединюсь к хору и скажу, что вам, скорее всего, придется в какой-то момент изучить HTML / CSS / Javascript.

Тем не менее, вы, кажется, спрашиваете о фреймворках, которые не затрагивают написание интерфейсного кода. Я могу относиться к этому чувству. К сожалению, очень мало зрелых технологий, которые абстрагируют этот материал (по ряду веских причин).

Взгляните на Wt и версию Java JWt . Это может быть то, что вы ищете.

Короче говоря, эта структура пытается сделать веб-приложения ориентированными на виджеты, чтобы вместо написания HTML-шаблонов вы кодировали пользовательский интерфейс, как если бы это было настольное приложение. Он использует некоторые новые технологии, такие как веб-сокеты, делает прогрессивное улучшение, и, как правило, избавляет вас от необходимости делать много внешнего интерфейса.

MrFox
источник
0

Такие фреймворки, как Spring и Play, отлично подойдут для обработки логики вашего приложения, но даже они не отвлекают от необходимости создания внешнего интерфейса для вашего веб-приложения. Это принципиально не отличается от необходимости создания внешнего интерфейса для настольного приложения, просто другое исполнение.

Это не должно пугать тебя слишком сильно. Процесс разработки по-прежнему будет в основном таким же, за исключением того, что вам нужно одеть свои данные в HTML и CSS, а не в элементы графического интерфейса рабочего стола. Во второй половине дня вы можете изучить основы HTML и CSS, а также сделать свой интерфейс настолько сложным или настолько простым, насколько вам угодно.

Мой совет - посещать сайты, похожие на тот, который вы собираетесь создать, а затем просматривать исходный HTML-код - вы почувствуете, как эти сайты работают с точки зрения HTML-дизайна.

Джаррод Крапива
источник
0

Да, чтобы создать любое современное веб-приложение, вам необходимо хотя бы базовое знание HTML и знание JavaScript. Использование фреймворков для таких языков, как python или Java, возможно, и вы можете создать большую часть функциональности вашего сайта, используя их, но даже для базового сайта вам нужно немного HTML, потому что это единственное, что браузер действительно понимает для отображения контента. Вы можете сойти с рук, не зная JavaScript, но это сделает ваш сайт гораздо менее удобным для пользователя, потому что вам потребуется перезагрузить страницы в любое время, когда вы захотите обновить что-либо, а также потерять очень полезный инструмент для взломайте сайт вместе и решите проблемы совместимости браузера и недостатки CSS.

Вы немного беспокоитесь о том, как многое меняется в веб-разработке, JavaScript действительно не изменился с тех пор, как он был реализован, также есть только один, кто должен знать фреймворк JQuery, который действительно делает JavaScript намного приятнее в работе. Большинство других быстро меняющихся вещей - действительно аромат месяца, и их не обязательно знать

Ryathal
источник
0

Существуют фреймворки для веб-приложений, которые абстрагируют HTML и JavaScript, но, честно говоря, лекарство часто хуже болезни. (например, Google Web Toolkit).

Сделайте себе одолжение и изучите jQuery, CoffeeScript и / или другие фреймворки javascript, чтобы сэкономить некоторые из самых утомительных деталей. Точно так же рассмотрите возможность использования чего-то вроде Haml или HamlPy для работы с более приятной версией HTML.

Стив Беннетт
источник
-2

HTML - это язык Интернета, поэтому вам придется его немного знать.

Javascript не так много ... вы можете использовать PHP и т. Д., А также. Javascript не на 100% необходим.

Если вы создаете сайт полностью, я бы порекомендовал Javascript, поскольку он поддерживается практически всеми браузерами и сохранит совместимость между различными программами просмотра.

Но если вы просто создаете веб-приложения, это применяется гораздо меньше, чем если вы создаете веб-сайт.

Leslar Bonar
источник
-2

Знание Javascript является плюсом, поскольку оно помогает вам создавать веб-приложения. Я думаю, что HTML лучше всего иметь хорошие знания, а HTML5 хорош, потому что он хорошо интегрируется с CSS3 и JavaScript. Я бы порекомендовал просмотреть курсы в Microsoft Virtual Academy.

У них более 200 различных вариантов курсов, и все они бесплатны и под руководством экспертов. Я лично получил выгоду от их курса обучения разработке приложений на HTML5. Удачи!

Джесси Джонс
источник
-3

В кратком ответе ДА. Но вот почему HTML - это структура всей сети, а JS - это взаимодействие сети. Я знаю, что вы, наверное, много слышали, но это очень важно знать. Некоторые фреймворки позволят вам не использовать (или не использовать) HTML и JS, но они являются основой Интернета. Если вы не хотите изучать код, наймите кого-нибудь. И также я знаю, что это не было в вашем вопросе, но я много совершал эту ошибку, пытаясь сделать Twitters и Gmail, о которых я думал, не зная никакого кода, и просто гуглял учебник.

Ну удачи!

WebMaster
источник
1
На этот вопрос уже есть 10 ответов, ему не нужен одиннадцатый, который говорит об одних и тех же вещах разными словами. Пожалуйста, не добавляйте ответы на вопросы, на которые уже есть исчерпывающие ответы, если у вас нет чего-то совершенно нового
Мартейн Питерс