我必须学习html和javascript才能创建Web应用程序吗?[关闭]


10

我是一位经验丰富的Java程序员,并且我想创建一个需要动态页面,图形等的复杂Web应用程序(以SO为例)。创建此类应用程序是否需要学习javascript / html?

并不是我不想学习另一种语言(我之前已经做过),但是javascript环境上的技术似乎变化如此之快,以致于当您完成学习一个框架时它已经过时了。我已经检查了许多用于Web开发的java框架(spring,play),但没有深入探讨。那么可以在不学习html / javascript的情况下使用这些框架(或我可能不知道的其他可能的Java框架)吗?我也有一些python经验。因此,如果我可以用python做该应用程序,那也是一种选择。


22
简短的答案:是的!......长的答案:是的!
rlemon

1
进一步说明:您不需要框架,实际上,在学习Javascript时应远离它们和抽象库。抽象库(按定义)不会帮助您学习语言或API。进入Javascript会议室,向一些会议室所有者/常客问这个问题。
rlemon

1
并非100%是同一个问题,但是当人们问起“捷径”时,我总是觉得这个答案很有用。programmers.stackexchange.com/questions/122191/...
rlemon

3
不,您可以付钱给其他人做
Jason Sebring

1
就像问“我需要了解Java才能编写Android应用程序”还是“我需要学习Objective-C编写iOS应用程序”一样,您可以避免使用它,但是不编写本机代码会伤害您。
TehShrike

Answers:


35

您无需学习JavaScript和HTML即可创建Web应用程序。

但是你会的。

如果您真的想用Java编写Web应用程序,请查看Google Web Toolkit,它可以将大量Java转换为JS,并且可以满足Web应用程序所需的大量代码。Django是类似的Python框架。

而且,如果您真的想避免编写HTML,则可以使用大量的模板以及可以看到的编辑器。

但是您会看到,无论您以任何抽象框架和HMTL模板为起点,在某些时候您都会对演示文稿不满意。这样一来,您将获得足够的HTML / JS来更改所需的一件小事情。还有一件事。还有一个。

然后有一天你会流汗。

在此处输入图片说明

这就是您将学习的方式。在像Geocities这样的点击式网站制造商时代,我们是从中学到很多的。过一会儿,如果您对网络很认真,就会有意或无意地学习网络的语言。

因此,您无需学习HTML和JavaScript即可创建类似StackOverflow的网站。但是,如果您真的尝试创建像StackOverflow这样的网站,您将无法阻止自己学习它们。


1
当我第一次阅读该问题时,我的想法与该答案完全相同。但由于技术都有它的优点和缺点,你可能想看看programmers.stackexchange.com/questions/38441/...然后再做出决定。祝你好运!

如果您无法仅使用html / css构建美观的演示文稿,那么您就错过了公共汽车。
ott-- 2012年

在通过CMS或像EXTJS这样糟糕的主导类库将灾难引入前端之前,要使用所学到的东西要困难得多。
Erik Reppen

+1您不需要了解JS,即使您抗拒,您也有一天会突然知道它。
Spoike

16

让我们考虑一下“我需要做一些网络工作”场景的一些可能解决方案:

  1. 雇用别人去做
  2. 使用精心设计的框架,将非前端内容神奇地转换为前端内容(html,css,js)
  3. 自己做

我们将忽略#1,因为我们是如此出色。我们有两个选择。选择哪个,选择哪个...

#2很诱人。这意味着您可以留在非常舒适的舒适区域,尤其是如果您添加了泥泞的机器和一些沙发。但是,让我们考虑一下正在使用的框架发生了什么:

  1. 臭虫
  2. 过时了
  3. 它不完全符合您的期望
  4. 任何其他与软件相关的问题。

您是一名开发人员,因此,不难考虑产品(尤其是图书馆)可能以许多壮观的方式破裂,撕裂沙发,倒下泥泞的机器,将所有物品涂成鲜艳的洋红色的所有可能方式。

在上述任何一种情况下,您都必须回来重新考虑答案开头所讨论的选项(这次仅替换#2中的框架),并添加第4个选项:尝试在微观级别进行修复。换句话说,以一种简单的方式来学习网络堆栈,这只是为解决该特定问题的解决方案而必需的。

这值得么?依靠。您可能会相信该框架永远不会让您失望,并且您可能是对的。你可能是错的。

我提出了一种混合解决方案:首先,学习网络堆栈。您不必花很多时间,也不必像街上14岁的l33t h4x0rz一样,可以为MySpace页面添加闪光效果,您只需要了解什么是继续。然后,如果您发现这是最适合您的方案,请选择一个框架。

现在您的舒适区更大了。它甚至可以自豪地展示电视或ABBA:Greatest Hits专辑。现在,如果出现问题,您将知道如何修复它。现在您可以选择了。有选择总比没有选择好。


1
仅仅因为让我发笑而被赞扬。这也是很好的建议。
Ed Hastings

1
提出好的建议。这也让我发笑。
rlemon 2013年

2

绝对肯定要这样做吗?

没有。

但是,如果您想要一个中等现代的Web应用程序,那么您可能应该这样做。周围有很多方法,但它们是对实际情况的抽象。如果您对此表示满意,那就继续吧。如果不是,则需要学习该语言。


1

即使您已经精通html和javascript,大型,复杂的Web应用程序也很难单独开发,而且乏味。

我的建议是寻找与团队或至少前端开发人员一起开发Web应用程序的可能性。

这样,您就可以专注于自己已经了解的知识,并让专家来做前端。
开发前端要比最初看起来要困难得多,例如,由于前端需要在多个操作系统上的许多不同浏览器中工作的事实,因此开发起来要困难得多。


1

我将与合唱团一起说,您很可能在某个时候必须学习HTML / CSS / Javascript。

但是,您似乎在寻求不涉及编写前端代码的框架。我可以与这种情绪有关。不幸的是,由于种种原因,很少有成熟的技术可以将这些东西抽象化。

看一下Wt和Java版本JWt。这可能是您要寻找的。

简而言之,该框架尝试使Web应用程序以小部件为中心,以便您无需像编写HTML模板那样编写UI,就好像它是桌面应用程序一样。它使用了Web套接字等一些新技术,进行了逐步增强,通常使您不必做很多前端工作。


0

像Spring和Play这样的框架将非常适合处理您的应用程序逻辑,但是即使它们也没有抽象出必须为Web应用程序构建前端的必要性。它与必须为您的桌面应用程序构建前端根本没有不同,只是执行方式不同。

这不是应该让您感到太多恐惧的东西。除了需要使用HTML和CSS而不是桌面GUI元素来修饰数据之外,您的开发过程将大致相同。您可以在一个下午学习HTML和CSS的基础知识,并可以根据需要使界面既复杂又简单。

我的建议是访问与您打算构建的站点类似的站点,然后查看HTML源代码-您将对这些站点在HTML设计方面的流向有一个了解。


0

是的,要制作任何类型的现代Web应用程序,您至少需要HTML的基础知识并具有JavaScript的能力。可以使用诸如python或Java之类的语言的框架,并且您可以使用它们来构建网站的大部分功能,但是即使对于基本网站,您也需要一些HTML,因为浏览器唯一能理解它来显示内容。您可能会不了解JavaScript而逃不过一劫,但是这会使您的网站变得不那么友好,因为您想在需要更新的任何时间都需要重新加载页面,而且您会失去一个非常有用的工具来一起入侵网站,并处理浏览器兼容性问题和CSS缺陷。

您可能会担心Web开发中的事情会发生多少变化,自从实现以来,JavaScript确实没有发生变化,而且实际上只有一个必须了解的框架JQuery确实使JavaScript变得更易于使用。其他大多数快速变化的东西实际上都是本月的味道,并不是真正需要知道的


0

有一些Web应用程序框架可以抽象化HTML和JavaScript,但老实说,治愈的方法通常比疾病还糟。(例如Google Web Toolkit)。

不过,请帮自己一个忙,并学习jQuery,CoffeeScript和/或其他javascript框架以节省一些最繁琐的细节。同样,考虑使用类似Haml或HamlPy的东西来处理更好的HTML版本。


-2

HTML是网络的语言,因此您必须有所了解。

Javascript并不是很多,您也可以使用PHP等。Javascript不是100%必需的。

如果您要完全构建一个网站,那么我肯定会推荐Javascript,因为它基本上受所有浏览器的支持,并且会保留不同浏览程序之间的兼容性。

但是,如果您仅创建Web应用程序,则其作用远小于创建网站的情况。


-2

懂Java语言是一个加号,因为它可以帮助您创建Web应用程序。我认为HTML是最好的扎实知识,而HTML5则很好,因为它与CSS3和JavaScript集成得很好。我建议浏览Microsoft虚拟学院的课程。

他们有200多种不同的课程选择,而且都是免费的且由专家领导。我个人从他们的HTML5应用开发培训课程中受益匪浅。祝好运!


-3

简短的回答是。但是,这就是为什么HTML是所有Web的结构,而JS是Web的交互的原因。我知道您可能听过很多,但是了解这一点非常重要。有些框架会让您不使用(或不使用很多)HTML和JS,但是它们是Web的基础。如果您不想学习代码,请雇用某人。而且我知道这不是您的问题,但是,我在尝试制作Twitter和Gmail时却犯了很多错误,而我却不知道任何代码,而只是仔细研究了一个教程。

好吧,祝你好运!


1
这个问题已经有10个答案,不需要第十一个以不同的词说明相同的内容。除非您有完全全新的说法,否则请不要在已经完全回答的问题上添加答案。
马丁·彼得斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.