技术堆栈问题

时间:2011-02-10 22:42:07

标签: jquery ajax hibernate spring struts

我正在尝试建立一个社交网站(就像Facebook一样),但我在IT世界中是一个非常新的网站。我想将前端和后端保持为两个独立的层,它们之间的任何通信都应该是AJAX驱动的。我怎么做?换句话说,如果保持这两个层分开(前端和后端),我如何使用jQuery建立通信,就像技术堆栈应该如何?

我熟悉HTML,javascript,CSS,jQuery,Struts,Spring,Hibernate。如何整合这些技术来完成任务(想想像Facebook这样的网站)?或者我的任何不同/更好的意见将不胜感激。

1 个答案:

答案 0 :(得分:4)

您的问题似乎是关于如何开始使用Web应用程序开发的一般性查询。由于浏览器中JavaScript的优越性以及更大的后端语言生态系统,前端和后端默认情况下通常保持相当独立。一个例外是Google Web Toolkit,它将Java转换为客户端的JavaScript。

您对后端的选择非常多变。如果您或您的团队可以选择编程语言,那将有助于缩小范围。就个人而言,我更喜欢Python的表现力,“包含电池”功能以及写入后可以轻松阅读。对于基于Python的Web开发框架,Django具有非常干净和强大的设计和出色的文档。 Ruby(Rails),Java,.NET还提供了各种可以开始使用的Web开发框架。该领域的通常范例是“模型/视图/控制器”(或模型/视图/模板),这基本上意味着业务逻辑,持久性/数据库实现和表示逻辑彼此分离。您选择哪个框架,首先完成基本教程,然后查看更专业的Ajax示例。

在客户端/浏览器站点上,您提到了JQuery,这是一个很好的起点,它支持Ajax以各种方式回调浏览器。它还使用非常类似于CSS的选择符表示法,这有助于使学习更容易使用。

你说“它们之间的任何通信应该是Ajax驱动的”,但是你总是需要一个普通的HTTP请求来加载你的初始内容和样式表,并提供任何能够驱动后续Ajax调用的JavaScript。您可能希望以非Ajax方式对事物进行原型设计,然后在了解后端实现后添加更具交互性/异步行为的复杂性。您可以浪费大量时间使用户界面美观且反应灵敏,只有在必须对后端进行重大更改时才能将其丢弃。

玩得开心 - Web应用程序很有趣,部分原因是很容易从用户那里快速获得反馈。最大的阻力是技术并不是特别统一,所以需要学习很多东西 - 尽管像JQuery这样的JavaScript库以及后端Web开发框架在这方面确实可以提供帮助。