帮助确定Web App的方法/语言 [英] Help in deciding on approach/language for Web App

查看:124
本文介绍了帮助确定Web App的方法/语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个个人项目-我想开发的Web应用程序-但我对采用哪种方法感到困惑.

我知道一些编程知识,并且涉猎Pascal,C,HTML,CSS和Actionscript(用于Flash).而且我不介意学习一种新语言(PHP,Python,mySQL等).我没有时间限制.

关于应用程序:

我能描述的最好的是一种专家系统(而不是AI),它需要在给定一组初始参数和最终参数的情况下,为流程找到最佳的工作流程.例如.一个胶囊"数据必须通过许多工具"或环境"才能达到所需的输出-就像非常复杂的洗车一样.

假设有很多工具可以在流程的各个阶段使用.我估计目前至少有500种工具,并且随着新工具的推出,它必将在未来增长.现有工具还将具有版本更新.

每个工具平均至少具有100个定义工具的属性.其中一些具有高达1000个独特的属性.这些工具中有一些是相互链接的-例如,如果选择了一个工具,则只有n个工具可以与该过程的下一步相对应.我还存在匹配"分析工具的问题.例如.工具A可能只有三个固定的rpm-100、200和500,但是工具B可能具有从20到2000的rpm.我不确定如何构造数据库而不用拼写每个数字,如上例所示.

该过程所需的工具总数可以在开始时定义,但是随着将来应用程序变得越来越复杂,它会发生变化.我计划解决该过程中的所有突发事件.这个想法是-如果用户输入了初始参数和所需的结果(另一组参数),则应用程序必须找到最佳"路径-有点像决策树.最佳路径可以是最快,最便宜等.我希望用户选择最适合自己的路径.

不幸的是,参数可能会更改,关系可能会更改(但不会定期更改)-我将使用的规则"可能会进行修改,以提高预测的准确性.

我还需要跟踪每个用户的路径和解决方案''以供将来参考(但除了登录的用户名和电子邮件地址外,没有其他个人详细信息).也许当该应用程序启动并运行时,我想使其更加民主,用户致力于完善所涉及的逻辑/规则.

如果可能的话,我还希望该应用程序在最后输出一个图形流程图,以简单易懂的布局将所有工具归为一组,显示工作流程.

我的问题:

1.该应用程序是否可以更好地与关系数据库(如mySQL或对象数据库)一起使用?
2.我可以使用PHP + AJAX + CSS + mySQL使其工作吗?有更好的选择吗?我更喜欢免费程序-我希望这个应用程序是免费的,但我可能想在以后使其商业化.我需要该程序在可以连接到互联网的任何设备上运行,包括平板电脑和手机等.
3.考虑到将来可能需要扩大规模-拥有更多数据,更多用户同时登录以及更多算法,哪种是我最好的开始方式?我不想以后再更改解决方案-如果我必须投入时间和精力,我宁愿从一开始就以正确的方式进行操作.

我将不胜感激入门.预先谢谢您.

I have a personal project - a web application I wanted to develop - but I''m confused on which route to take.

I know a little programming, and have dabbled in Pascal, C, HTML, CSS and Actionscript (for Flash). And I don''t mind learning a new language (PHP, Python, mySQL, etc). I am not under any time constraint.

About the App:

The best I can describe it is as a kind of expert system (but not AI) that needs to find the best workflow for a process, given a set of initial and final parameters. E.g. a ''capsule'' of data must pass through many ''tools'' or ''environments'' to reach a desired output - something like a very complicated car wash.

Let''s say there are many tools that can be used at various stages in the process. I have estimated there are at least 500 tools as of now, and it is bound to grow in the future as newer tools are introduced. Existing tools will also have version updates.

Each tool, on average, has at least 100 properties that define the tool. Some of them have as high as 1000 unique properties. Some of these tools are linked to each other - e.g if one tool is selected, there are only n tools that can correspond to it for the next step in the process. I also have the problem of ''matching'' the tools for analysis. E.g. Tool A might have only three fixed rpms - 100, 200 and 500, but Tool B might have rpms from 20 to 2000. I''m not sure how I can construct a database without spelling out each number, as in the example above.

The total number of tools needed for the process can be defined at the beginning, however, it will change as the application becomes more complex in the future. I plan to address every contingency in the process. The idea is - if the user inputs the initial parameters and the desired outcome (another set of parameters), the app must find the ''best'' path - sort of like a decision tree. The best path can be the fastest, cheapest, etc. I would like the user to choose what is best for him/her.

Unfortunately, parameters might change, relationships might change (but not regularly) - the ''rules'' I will be using might be revised for better accuracy in prediction.

I also need to track each user''s path and solutions'' for future reference (but no personal details except username and email address for logging in). Maybe when the app is up and running, I''d like to make it more democratic, with users contributing to refining the logic/rules involved.

If possible, I would also like the app to output a graphical flowchart at the end showing the workflow with all tools grouped in an easy to understand layout.

My questions:

1. Will the app be better served with a relational DB like mySQL or an Object database?
2. Can I make this work with PHP+AJAX+CSS+mySQL? Is there a better alternative? I would prefer free programs - I intend this app to be free, but I might want to make it commercial later on. I need this program to run on any device that can connect to the internet, including tablets and mobiles, etc.
3. Which is the best way for me to begin, considering I might have to scale it up in the future - with more data, more users simultaneously logged in, and more algorithms? I don''t want to change solutions later on - if I have to invest time and effort I''d rather do it the right way from the beginning.

I would appreciate any help in getting started. Thank you in advance.

推荐答案

语言与我的朋友无关.选择Web应用程序工具最重要的是您的预算.如果您负担得起Microsoft许可,那么为什么不使用Microsoft? (ASP.NET,C#/VB,SQL-SERVER)

问候,
爱德华
Language doesn''t matter my friend. What matters in choosing web application tool is your budget. If you could afford microsoft licensing, then why not use microsoft? (ASP.NET, C#/VB, SQL-SERVER)

Regards,
Eduard


这篇关于帮助确定Web App的方法/语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆