首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开发web应用程序的一般指南

开发web应用程序的一般指南
EN

Stack Overflow用户
提问于 2010-07-11 10:15:48
回答 3查看 414关注 0票数 3

作为一名习惯于开发本地应用程序的程序员,我正在拓展我的视野并开发我的第一个web应用程序。我是Linux和C的专家,Python和HTML的中级,MySQL和Java的初学者。

我正在开发一个web应用程序,它或多或少是我的一个朋友的资源分配器。简单地说,我希望这个计划能帮助他管理工作,分配技术人员和设备。主屏幕将是一个嵌入式谷歌日历框架,可以通过动态更新。他们的API。现在,某些工作要求技术人员持有一定的证书,设备必须按照特定的时间表进行校准。我也想跟踪额外的数据,如电话号码,电子邮件地址,工作信息等。为了更多,我希望它看起来很好!

我花了相当长的时间熟悉PHP、JavaScript和DOM,并开发了一些功能和一个整洁的UI。到目前为止,我一直在编写服务器端w/ PHP代码,以便通过。MySQL,然后是JavaScript来操作DOM。我有供技术人员使用的桌子、证书、工作、电话号码等。

我的问题是:

  1. 我开发web应用程序的一般方法有什么遗漏吗?(服务器端脚本与数据库交互生成动态HTML,然后通过.DOM/客户端脚本)。
  2. 我之所以选择PHP,是因为它通常与web开发相关。有什么可供选择的?作为一个初学者,我想知道“最好的”服务器端语言学习(我准备迎接挑战),或至少要知道其他的选择。
  3. 就客户端而言,JavaScript似乎就是IT。是吗?
  4. 我听说过很多关于AJAX的事情,但对它知之甚少。它是生成HTML服务器端的替代方法吗?数据库?它有什么优点/缺点?
  5. 我读过有人不推荐相框。我应该从框架转向DOM操作吗?
  6. 如果这个应用程序是可以在互联网上使用的,我将需要设置一个某种登录系统。使用托管或私有服务设置身份验证的常见方法是什么?
  7. (有点离题)有什么免费的托管建议吗?我是个学生,我自己主持服务器对我的朋友来说是不可靠的。
  8. 我真的很想实现这个项目的大部分通过。尽可能让Python。Python在为浏览器编程方面可以做些什么,它需要什么呢?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-11 10:34:22

  1. 我开发web应用程序的一般方法有什么遗漏吗?(服务器端脚本与数据库交互生成动态HTML,然后通过.DOM/客户端脚本)。

不-这是通常的安排。实际上,客户端脚本通常是缺失的,而且网页在任何交互中都是完全刷新的。你的描述很好。

  1. 我之所以选择PHP,是因为它通常与web开发相关。有什么可供选择的?作为一个初学者,我想知道“最好的”服务器端语言学习(我准备迎接挑战),或至少要知道其他的选择。

这是一个有争议的话题,取决于不同的口味,因此通常更适合社区wiki;此外,已经有很多这样的问题了。

很快,PHP是最常见的,因为它是最容易配置的,但是它有很多cruft。Perl是个老派,而且很难读懂。由于惊人的动态框架(CherryPy和Django相对于Sinatra和Rails),PythonandRuby目前是最热门的,但是竞争很激烈,每个人都选择了一方。我会告诉您Ruby使用起来更好,但是其他人也会对Python说同样的话。然而,配置它们有点困难(例如,对于大多数主机提供商来说,通常不是标准选项)。

  1. 就客户端而言,JavaScript似乎就是IT。是吗?

就是这样,如果你说的是HTML。替代方案消失了。

  1. 我听说过很多关于AJAX的事情,但对它知之甚少。它是生成HTML服务器端的替代方法吗?数据库?它有什么优点/缺点?

AJAX是一个很好的名称,用于在不重新加载页面的情况下从JavaScript发出HTTP请求。请求的内容可以是可执行的JS,或可解析的XML,或准备插入的HTML.这是获得一些数据客户端而不刷新整个页面的唯一方法。

  1. 我读过有人不推荐相框。我应该从框架转向DOM操作吗?

肯定是的。然而,iframe有其(有限的)用途。你很可能不需要它们。

  1. 如果这个应用程序是可以在互联网上使用的,我将需要设置一个某种登录系统。使用托管或私有服务设置身份验证的常见方法是什么?

数据库中的用户名+加密密码,当用户输入用户名+密码时,对密码进行加密,并对照数据库对两者进行检查。如果成功,请在会话中记录用户名。

另一种方式是OpenID,但它需要第三方OpenID提供者。

  1. (有点离题)有什么免费的托管建议吗?我是个学生,我自己主持服务器对我的朋友来说是不可靠的。

不太博学。我知道comyr (一般用途)和heroku (Ruby),都是免费的非商业用途,AFAICR,但一些研究可以得到更多。

  1. 我真的很想实现这个项目的大部分通过。尽可能让Python。Python在为浏览器编程方面可以做些什么,它需要什么呢?

它可以在服务器端编程方面做任何事情,就像任何其他图灵完整语言一样。它可以很容易地做到这一点,它是一种动态语言,有许多用于web开发的很好的库。不过,它根本不会为浏览器做任何事情。轻量级查看CherryPy,重量级web应用框架查看Django。

但我以为你选择了PHP?

票数 3
EN

Stack Overflow用户

发布于 2010-07-11 10:27:53

我开发web应用程序的一般方法有什么遗漏吗?(服务器端脚本与数据库交互生成动态HTML,然后通过.DOM/客户端脚本)。

您需要像cron这样的调度程序来在服务器端执行日历之外的事情。日历很适合记录事件(例如设备的维护或工程师的呼叫),但是为了执行这一任务,您可能需要在设备没有进行维护的情况下暂停呼叫工程师,等等。

我之所以选择PHP,是因为它通常与web开发相关。有什么可供选择的?作为一个初学者,我想知道“最好的”服务器端语言学习(我准备迎接挑战),或至少要知道其他的选择。

有许多替代方法,从Python背景来看,塔架Google App Engine可能是很好的替代方案。

就客户端而言,JavaScript似乎就是IT。是吗?

闪光灯银光等。jQuery ( JavaScript框架)似乎是一种流行的选择。

我听说过很多关于AJAX的事情,但对它知之甚少。它是生成HTML服务器端的替代方法吗?数据库?它有什么优点/缺点?

AJAX归根结底是动态更新所查看的页面,而不是每次创建一个新页面。

我读过有人不推荐相框。我应该从框架转向DOM操作吗?

这取决于您是否要迁移到AJAX中。iframes很可能会继续存在,即使从浏览器中删除了传统的框架。

如果这个应用程序是可以在互联网上使用的,我将需要设置一个某种登录系统。使用托管或私有服务设置身份验证的常见方法是什么?

OpenID似乎很受欢迎,随着库的可用性,它应该消除维护您自己的身份验证所需的大部分工作。

(有点离题)有什么免费的托管建议吗?我是个学生,我自己主持服务器对我的朋友来说是不可靠的。

每月的页面浏览量高达500万次(大约)。如果你每天设置0美元的账单,你将得到更多的免费资源。

我真的很想实现这个项目的大部分通过。尽可能让Python。Python在为浏览器编程方面可以做些什么,它需要什么呢?

如果您正在为使用编写代码,您可以使用activex对象调用Python,但是事情会变得一团糟。

作为额外的奖励,支持计划,内置了与Google对话的库,支持OpenID (称为Federated ),并为更小的用户提供免费托管。

您所描述的应用程序类型通常称为“外勤人员”。您可能需要考虑的其他事情包括:用于发送文件的ViaPost、用于确保现场工程师安全的独行工人 (可能是一项规定)、调度程序(有许多模式和系统,包括使用三角剖分以提高工程师效率的模式和系统),以及自动语音系统(其中一些具有API)和车辆跟踪相结合,以通知客户工程师将迟到(这可以自动化)。

您还可以考虑使用移动设备进行动态呼叫分配、收集客户签名和打印站点上的文件。

票数 2
EN

Stack Overflow用户

发布于 2010-07-11 10:46:27

我建议尽快放弃PHP。在这里搜索'php‘应该很有启发性。虽然用PHP编写安全、安全、可靠的应用程序是可能的,但我认为它是,尽管是PHP做出最令人兴奋和最可靠的EVAR语言的最大努力。有很多有趣的副作用。假装-安全-选择。如果PHP所显示的大部分内容对您都有吸引力,我想我建议您改用Perl。这应该不会那么令人惊讶。

因此,由于我对PHP的强烈反对,您有很多更好的选择。Python有Django、Zope和Twisted矩阵。它们各自解决了不同的问题,允许您在不同的级别编写应用程序: Django在代码中添加了一些模型-视图-控制器结构,Zope是一个更大的CMS框架,而Twisted矩阵提供了许多超级热衷于编程的原语,如果您想要编写一些非常接近线的东西。(从一个运行应用程序代码的非常简单但整洁的web服务器到Twisted,您的代码大约有五行代码。)

如果您真的想在这个过程中学习另一种语言,Rails得到了大量的炒作,而且大多数理由都很好。我真的很喜欢编写reasonable代码,强加的结构对于除了琐碎的应用程序之外的任何东西都是非常棒的,而且它通常是在合理的假设下完成的。

Perl是“旧的备用”。我随时都会使用PHP,但我无法忍受Perl的OO或模块系统。所以我很难真正支持它。

我想建议客户端反对Flash和Silverlight :首先,Flash是一个巨大的资源消耗和安全灾难,Silverlight在这两个方面都可能比Flash更好,但比Flash更不便于移植。(我强烈建议在少数移动浏览器上试用您的站点,它看起来不一定漂亮,但一切都应该正常运行。:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3222654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档