Javascript 基于浏览器的应用程序需要IO控制
这是一个关于构建同时具有服务器端和客户端需求的应用程序的最佳方法的问题。请原谅我的长篇大论——我正试图用我模糊的问题尽可能地澄清 对于一个独立的非网络连接的艺术项目,我正在创建一个简单的基于浏览器的应用程序。最好将它比作一个华丽的半复杂的计算器 我希望应用程序能够利用浏览器的演示功能,并在一个不重新加载的页面中运行。虽然我有很多用perl、PHP和Python编写服务器端应用程序的经验,但我对客户端编程比较新,对JavaScript也比较陌生 该应用程序将做一个公平的数学,一个公平的Raspberry Pi I/O控制位,以及大量的显示控制 我最初的想法(和舒适区)是用Python编写它,并使用一些JS钩子,但我可能需要重新考虑这一点。我更愿意将逻辑层与表示层分开,但考虑到整个过程都发生在一个不重新加载的html页面上,JavaScript似乎是我最合理的选择 我将在Raspberry Pi上运行这个,我需要访问输入和输出的GPIO端口。我知道JavaScript将无法直接执行I/O,因此我需要转向使用AJAX-ish类型的调用来接收和发送IO,比如nodejs或socket.IO 我的主要问题是——在这两种方法之间选择是否有明确的最佳实践:Javascript 基于浏览器的应用程序需要IO控制,javascript,node.js,socket.io,client-side-scripting,server-side-scripting,Javascript,Node.js,Socket.io,Client Side Scripting,Server Side Scripting,这是一个关于构建同时具有服务器端和客户端需求的应用程序的最佳方法的问题。请原谅我的长篇大论——我正试图用我模糊的问题尽可能地澄清 对于一个独立的非网络连接的艺术项目,我正在创建一个简单的基于浏览器的应用程序。最好将它比作一个华丽的半复杂的计算器 我希望应用程序能够利用浏览器的演示功能,并在一个不重新加载的页面中运行。虽然我有很多用perl、PHP和Python编写服务器端应用程序的经验,但我对客户端编程比较新,对JavaScript也比较陌生 该应用程序将做一个公平的数学,一个公平的Raspbe
这两种方法都需要客户端和服务器端脚本之间的中介。做这件事最简单的平台或库是什么,对学习者来说既不过分,也不过分?哦,这是一个多么好的问题!我现在正在考虑。我的方法有一点不同: 使用旧的MVC样式,你认为V(IEW)层是用JavaScript CSS和许多其他东西渲染的HTML页面,M和C将在服务器上运行。有一天,我遇到了AngularJS先生,我意识到:哇,一些基本的事情可能会改变: 认为观点(或我认为是观点的东西)实际上不是观点。AngularJS在“视图”中为我提供了控制器、数据资源甚至视图模板,换句话说:客户端本身可以是一个真正的应用程序。所以现在我的方法是: 服务器执行“服务器任务”,如:读写数据、向客户机发送数据、从客户机接收数据等。。。。 客户端做“客户端工作”:与用户交互,在数据发送之前进行逻辑处理,如验证,或格式化从用户收集的信息等
也许你们可以重新思考你们的方法:问问你们自己什么样的逻辑应该在客户端运行,什么样的逻辑应该在服务器上运行。带有javascript的客户端执行其I/O,带有服务器端脚本的服务器执行其I/O。服务器将为客户端提供所需的资源,javascript将这些资源用作其MVC的M(odel)。希望你能理解,我的蹩脚英语:D经过一些考虑,我认为以下选项适合你的情况:
如果您不熟悉工具和语言,请不要增加太多的复杂性。。。听起来你基本上已经决定了:
- Python服务器。(Python必须管理GPIO。)
- HTML/JavaScript客户端,创建一个漂亮的UI。(HTML必须显示UI。)
- 将整个服务器编写为独立的python非常简单 直来直去李>
- 你不必这么做,但它很好而且 如果您从中提供页面内容本身,则是自包含的李>
- 如果你 将大部分状态保留在服务器/python端,您可以 整个应用程序在页面重新加载时更加健壮(即使我 知道你提到的,那永远不会发生)