需要帮助确定如何构建我的项目
我想创建类似于家谱在线应用程序(如 geni.com)的东西。我不确定应该使用什么语言来构建它。我的 IT 强项不在于编程,这个项目需要我坐下来学习一些语言。我现在的问题是我不知道应该使用什么语言。
因此,考虑到家谱在线应用程序的想法,这里有一些规格。 - 我不想使用闪光灯。 - 该应用程序需要可缩放和可滚动(有点像谷歌地图) - 应用程序需要能够在不重新加载页面的情况下添加内容。也许有一个小“+”号,当我单击它时,我可以添加标签/标题/描述/图片 - 应用程序需要能够保存您的工作以便该用户稍后检索。 - 用户能够创建的布局是一种基于小部件的布局,用户可以在其中添加新的气泡,然后在该气泡中添加文本或内容。
我开始使用 HTML5 canvas 和 Javascript 进行编程,但我坚持创建一个不是直接来自 Javascript 的数据库连接(因为这对我来说似乎非常不安全)。但我不仅困惑于如何与数据库安全地交互(我什至没有选择数据库),而且我担心我无法仅使用 javascript 构建应用程序可能需要像ajax之类的其他东西,但我不熟悉现在每种语言的作用。
I'd like to create something similar to a family tree online app (like geni.com). I'm unsure what languages I should use to build it with. My IT strong points aren't in programming and this project is going to require me to sit down and learn some languages. My problem right now is that I don't know what languages I should use.
So with the idea of a family tree online app in mind here are some of the specifications.
- I do not want to use flash.
- The app needs to be zoomable and scrollable (sort of like google maps)
- The app needs to be able to add content without reloading the page. Perhaps there's a little "+" sign and when I click it, I can add a tag/title/description/picture
- The app needs to be able to save your work for that user to retrieve later on.
- The layout that a user is able to create in is sort of widget based where the user can add a new bubble and then in that bubble they are able to add text or content.
I started programming this with HTML5 canvas and Javascript, but I'm stuck on creating a connection to the database that isn't directly from Javascript (because that seems very insecure to me). But I'm not just stumped on how to interact securely with the database (I don't even have a database picked out), but also I'm concerned that I won't be able to build out the app with just javascript and may need something else like ajax or something but I'm unfamiliar with what each language does nowadays.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您是从头开始,那么最好使用的语言就是您最熟悉的语言。或者,如果您不打算自己开发整个东西并且您已经有其他一些感兴趣的团体,那么最好使用的语言就是你们大多数人都熟悉的语言。如果只有你一个人,而且你还没有任何最爱,那么环顾四周并玩一些 - 这是了解你是否真的喜欢它们/对它们有效的唯一方法。
话虽这么说,现在一些更有可能的候选者是:
话虽这么说,它们都是 Web 开发的优秀语言。重要的不是我们认为您应该使用什么……而是您最有可能有效使用什么。上面列出的所有语言都是主流(或将在未来两年内)、易于学习和易于编写的语言。无论您选择从什么开始,您都不会出错。
或者,如果您想要一些更困难或不太主流的东西......我正在使用 .NET 在工作中使用应用程序,并在业余时间使用基于 Lisp (SBCL) 的服务。我也听说过有关 Lua 和 Java 的伟大事情......至少有两个 C++ Web 框架 就在那里……我确信有人 em> 正在享受在 COBOL 中使用 FORTRAN 后端构建 Web 服务的乐趣。 ;-)
If you are starting from scratch, then the best language to use is the one you are most comfortable with. Alternately, if you don't plan to be developing the whole thing yourself and you already have some other interested parties on board then the best language to use is the one that the majority of you are comfortable with. If it's just you and you do not yet have any favorites, then look around and play with a few - it's the only way to find out if you will actually like / be effective with them.
That being said, a few of the more likely candidates these days are:
All that being said, they are all great languages for web development. What matters is not what we think you should use ... but what you are most likely to be effective with. All of the languages listed above are mainstream (or will be in the next two years), easy-to-learn and easy-to-write languages. You cannot go wrong, no matter what you choose to start off with.
Alternately, if you want something a little more difficult, or less mainstream ... I am working with .NET applications at work, and with Lisp (SBCL)-based services in my spare time. I have heard great things about Lua and Java too ... there are at least two C++ web frameworks out there ... and I'm sure that there is somebody is having fun building a web service in COBOL with a FORTRAN backend. ;-)
正如有人已经指出的那样,您还需要使用服务器端语言。 (Ruby、Python、PHP)你说得对,你不应该在浏览器中尝试通过 javascript 进行数据库连接。
您需要构建一个服务器端应用程序来处理应用程序的基本操作。
我强烈建议您阅读 MVC 设计模式,并可能将 Ruby on Rails 作为您的后端框架,它可以很好地处理类似 ajax 的功能,并且我相信,比其他一些框架/有更短的学习曲线/语言。
As someone has already pointed out, you will need to work with a server side language as well. (Ruby, Python, PHP) You are exactly right there you should not be attempting a database connection via javascript in the browser.
You'll need to build out a server side application to handle the basic operations of your application.
I'd strongly recommend reading up on the MVC design pattern, and possibly looking into Ruby on Rails as your backend framework, it plays very nicely with ajax like features, and has a somewhat shorter learning curve, I believe, than some other frameworks / languages.
您将需要采用 PHP 或 Ruby on Rails 与数据库交互。
You will need server side scripts in a language like PHP or Ruby on Rails to interact with a database.
如果您已经熟悉 HTML5 和 JavaScript,我可以推荐使用 Node.JS 吗?这是您最接近您已经了解的浏览器开发知识的内容。它还可以与更接近 HTML5 建议的 IndexedDB 的数据库系统挂钩。
考虑到这一点...
如果您对编程和编程语言缺乏经验,那么您描述的应用程序将涉及相当大的学习曲线。虽然 Flash 和 Flex 具有非常好的界面来通过单击和拖动来构建应用程序,但 HTML5 的工具还不太成熟。
这并不是说 HTML5 不可能做到这一点。只是人们还需要等待一些时间才能创建工具来使应用程序构建过程更接近 Adobe 提供的功能。
If you're already familiar with HTML5 and JavaScript, may I recommend using Node.JS? It's about the closest you'll get to what you already know with browser development. It can also hook in with database systems which are closer to the HTML5-suggested IndexedDB.
with that in mind...
If you're inexperienced with programming and programming languages, then the app you describe will involve a pretty big learning curve. While Flash and Flex have really nice interfaces to build apps with click-and-drag, the tools for HTML5 are much less mature.
That's not saying it's not possible with HTML5. Just that there's still some time to wait before people create tools to bring the app building process closer to what Adobe provides.