- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
作为一名习惯于开发 native 应用程序的程序员,我正在扩展我的视野并开发我的第一个网络应用程序。我是 Linux 和 C 的中级到专家,Python 和 HTML 的中级,MySQL 和 Java 的初学者到中级。
我正在开发一个网络应用程序,它或多或少是我 friend 的资源分配器。简单来说,我希望这个程序能帮助他管理工作,分配技术人员和设备。主屏幕将是一个嵌入式谷歌日历框架,可以通过动态更新。他们的 API。 现在,某些工作要求技术人员持有某些证书,并且设备必须按特定时间表进行校准。我还想跟踪额外的数据,例如电话号码、电子邮件地址、工作信息等。最重要的是,我希望它看起来不错!
我花了很多时间熟悉 PHP、JavaScript 和 DOM,并且开发了一些功能和简洁的 UI。到目前为止,我一直在使用 PHP 编写服务器端代码以通过 传递动态 HTML。 MySQL 然后是 JavaScript 来操作 DOM。我有技术人员、证书、工作、电话号码等表格。
我的问题是:
我开发网络应用程序的一般方法是否遗漏了什么? (服务器端脚本与数据库交互以生成动态 HTML,然后通过 DOM/客户端脚本在客户端对其进行操作)。
我选择 PHP 是因为它通常与 Web 开发相关联。有哪些选择?作为初学者,我想知道要学习的“最佳”服务器端语言(并且我正在接受挑战),或者至少了解替代方案。
就客户端而言,JavaScript 似乎就是 IT。是吗?
我听说过很多关于 AJAX 的信息,但对它知之甚少。它是通过生成 HTML 服务器端的替代方法吗?数据库?它是什么/优点/缺点。
我了解到框架正在被弃用。我应该远离框架而更多地转向 DOM 操作吗?
最佳答案
- Is there anything missing to my general approach for developing a web app? (Server-side scripting interacts with database to produce dynamic HTML which is then manipulated client-side via. the DOM/client-side scripting).
不 - 这是通常的设置。实际上,客户端脚本经常缺失,并且网页在任何交互中都会完全刷新。您的描述非常好。
- I chose PHP because it is commonly associated with web development. What are the alternatives? As a beginner I would like to know the "best" server-side language to learn (and I am up for a challenge), or at least be aware of the alternatives.
这是一个有争议的话题,受不同口味的影响,因此通常更适合社区 wiki;此外,已经有一堆这样的问题。
很快,PHP 是最常见的,因为它最容易配置,但它有很多麻烦。 Perl 是老派的,而且相当难读。由于惊人的动态框架(CherryPy 和 Django 与 Sinatra 和 Rails),Python 和 Ruby 目前是 HitTest 门的,但竞争很激烈,每个人都选择了一方。我会告诉你 Ruby 更易于使用,但其他人也会对 Python 说同样的话。但是,配置它们有点困难(即通常不是大多数托管服务提供商的标准选项)。
- As far as client-side goes it seems that JavaScript is IT. Is it?
就是这样,如果您谈论的是 HTML。替代方案消失了。
- I've heard alot about AJAX but know little to nothing at all about it. Is it an alternative to generating HTML server-side via. a database? What is it/advantages/disadvantages.
AJAX 是一个奇特的名称,用于从 JavaScript 发出 HTTP 请求而无需重新加载页面。请求的内容可以是可执行的 JS,或可解析的 XML,或准备插入的 HTML...,这是唯一一种无需刷新整个页面即可在客户端获取一些数据的方法。
- I've read that frames are being deprecated. Should I move away from frames and more towards DOM manipulation?
强调是。但是,iframe
有其(有限的)用途。您很可能不需要它们。
- If this application is to be available over the internet I will need to setup a login system of some sort. What are common ways of setting up authentication using hosted or private services?
数据库中的用户名+加密密码,当用户输入用户名+密码时,加密密码并与数据库进行校验。如果成功,在 session 中记录用户名。
另一种方式是 OpenID,但它需要第三方 OpenID 提供商。
- (Getting a little off topic) Any free hosting suggestions? I'm a student, and hosting the server myself would be unreliable for my friend.
知识不多。我知道 comyr(通用)和 heroku(Ruby),它们都可免费用于非商业用途,AFAICR,但进行一些研究可以获得更多信息。
- I would really love to implement as much of this project via. Python as possible. What can Python do in terms of programming for the browser and what would it require?
它可以在服务器端编程方面做任何事情,就像任何其他图灵完备语言一样。它可以很容易地做到这一点,它是一种动态语言,具有许多针对 Web 开发的不错的库。不过,它不会为浏览器 做任何事情。查看轻量级的 CherryPy,以及重量级 Web 应用程序框架的 Django。
但我以为你选择了 PHP?...
关于python - 开发 Web 应用程序的一般指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3222654/
我正在处理一组标记为 160 个组的 173k 点。我想通过合并最接近的(到 9 或 10 个组)来减少组/集群的数量。我搜索过 sklearn 或类似的库,但没有成功。 我猜它只是通过 knn 聚类
我有一个扁平数字列表,这些数字逻辑上以 3 为一组,其中每个三元组是 (number, __ignored, flag[0 or 1]),例如: [7,56,1, 8,0,0, 2,0,0, 6,1,
我正在使用 pipenv 来管理我的包。我想编写一个 python 脚本来调用另一个使用不同虚拟环境(VE)的 python 脚本。 如何运行使用 VE1 的 python 脚本 1 并调用另一个 p
假设我有一个文件 script.py 位于 path = "foo/bar/script.py"。我正在寻找一种在 Python 中通过函数 execute_script() 从我的主要 Python
这听起来像是谜语或笑话,但实际上我还没有找到这个问题的答案。 问题到底是什么? 我想运行 2 个脚本。在第一个脚本中,我调用另一个脚本,但我希望它们继续并行,而不是在两个单独的线程中。主要是我不希望第
我有一个带有 python 2.5.5 的软件。我想发送一个命令,该命令将在 python 2.7.5 中启动一个脚本,然后继续执行该脚本。 我试过用 #!python2.7.5 和http://re
我在 python 命令行(使用 python 2.7)中,并尝试运行 Python 脚本。我的操作系统是 Windows 7。我已将我的目录设置为包含我所有脚本的文件夹,使用: os.chdir("
剧透:部分解决(见最后)。 以下是使用 Python 嵌入的代码示例: #include int main(int argc, char** argv) { Py_SetPythonHome
假设我有以下列表,对应于及时的股票价格: prices = [1, 3, 7, 10, 9, 8, 5, 3, 6, 8, 12, 9, 6, 10, 13, 8, 4, 11] 我想确定以下总体上最
所以我试图在选择某个单选按钮时更改此框架的背景。 我的框架位于一个类中,并且单选按钮的功能位于该类之外。 (这样我就可以在所有其他框架上调用它们。) 问题是每当我选择单选按钮时都会出现以下错误: co
我正在尝试将字符串与 python 中的正则表达式进行比较,如下所示, #!/usr/bin/env python3 import re str1 = "Expecting property name
考虑以下原型(prototype) Boost.Python 模块,该模块从单独的 C++ 头文件中引入类“D”。 /* file: a/b.cpp */ BOOST_PYTHON_MODULE(c)
如何编写一个程序来“识别函数调用的行号?” python 检查模块提供了定位行号的选项,但是, def di(): return inspect.currentframe().f_back.f_l
我已经使用 macports 安装了 Python 2.7,并且由于我的 $PATH 变量,这就是我输入 $ python 时得到的变量。然而,virtualenv 默认使用 Python 2.6,除
我只想问如何加快 python 上的 re.search 速度。 我有一个很长的字符串行,长度为 176861(即带有一些符号的字母数字字符),我使用此函数测试了该行以进行研究: def getExe
list1= [u'%app%%General%%Council%', u'%people%', u'%people%%Regional%%Council%%Mandate%', u'%ppp%%Ge
这个问题在这里已经有了答案: Is it Pythonic to use list comprehensions for just side effects? (7 个答案) 关闭 4 个月前。 告
我想用 Python 将两个列表组合成一个列表,方法如下: a = [1,1,1,2,2,2,3,3,3,3] b= ["Sun", "is", "bright", "June","and" ,"Ju
我正在运行带有最新 Boost 发行版 (1.55.0) 的 Mac OS X 10.8.4 (Darwin 12.4.0)。我正在按照说明 here构建包含在我的发行版中的教程 Boost-Pyth
学习 Python,我正在尝试制作一个没有任何第 3 方库的网络抓取工具,这样过程对我来说并没有简化,而且我知道我在做什么。我浏览了一些在线资源,但所有这些都让我对某些事情感到困惑。 html 看起来
我是一名优秀的程序员,十分优秀!