需要帮助确定如何构建我的项目

发布于 2024-11-07 07:37:46 字数 513 浏览 0 评论 0原文

我想创建类似于家谱在线应用程序(如 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

岁月流歌 2024-11-14 07:37:46

如果您是从头开始,那么最好使用的语言就是您最熟悉的语言。或者,如果您不打算自己开发整个东西并且您已经有其他一些感兴趣的团体,那么最好使用的语言就是你们大多数人都熟悉的语言。如果只有你一个人,而且你还没有任何最爱,那么环顾四周并玩一些 - 这是了解你是否真的喜欢它们/对它们有效的唯一方法。

话虽这么说,现在一些更有可能的候选者是:

  • JavaScript: 这种语言只是将 D 放入 DHTML 中的一种方式的日子已经一去不复返了。如今,JavaScript 是一种可行的客户端服务器端语言。 (这里的其他人已经推荐了 Node.js ——我也推荐 NPM(节点包管理器) 来处理您的依赖项)。通过一些规划,您可以在客户端和服务器端重用大部分应用程序代码。不利的一面是,大多数服务器端技术都非常新(最多只有几年历史),因此您可能会发现自己实现了在应用程序中使用的工具,而不是应用程序本身。再次考虑到它的年龄,找到支持它的服务器也将变得更加困难。
  • Perl:在时代的另一端,我们发现 Perl - 第一种普遍部署的用于制作 Web 应用程序的语言,它仍然为各种有用的网站提供支持(包括 Pinboard 等新工具。)CPAN 上流行的工具已通过 审核火。好消息是它不会很快消失。坏消息是,您可能需要更加努力地搜索才能找到支持[昨天刚刚推出的最新、最糟糕的东西]的模块。
  • PHP: 作为现代 Web 的 BASIC(或 Perl,这取决于你问的是谁),PHP 从头开始​​设计就是为了做一件事 - 使构建动态网页变得更容易。它的流行意味着有相当多的服务器支持(PHP + Apache + MySQL 是 Web 服务器的 T 型福特——每个人都买得起)和大量可供阅读的预构建代码。然而,与 BASIC 一样,PHP 的优点也是其最大的弱点。几乎任何人都可以用 PHP 编写有效的东西……它的效果如何取决于编写它的人。适用于在网络上找到的所有代码片段的买者自负也同样适用于用 PHP 编写的代码片段。
  • Python:让编程再次变得有趣的语言(至少对于那些能够看到超越了重要的空白和缺乏块/匿名函数,并忽略了 3.x 的非 ASCII 的问题框。)它是通用的,灵活-范式 语言相当重要的标准库(但没有 .NET 或 Java 令人难以置信的膨胀)。此外,它已经做了相当多的工作,所以很有可能你需要的东西已经被其他人开发了。另外,它可以让你飞
  • Ruby(带或不带 Rails): 这种语言让网络变得有趣,如果您愿意,可以与 使 MVC 变得的框架。那里有很多文档,还有一个很棒的社区,有许多预构建的工具(称为 gems) 从中挑选 - 免费和廉价的服务器不像 PHP 同类服务器那么常见,但它们可能具有更高的质量(随机选择时)。

话虽这么说,它们都是 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:

  • JavaScript: Long gone are the days when this language was simply a way to put the D in DHTML. These days JavaScript is a viable client and server-side language. (Others here have already recommended Node.js -- I'd also recommend NPM (node package manager) to handle your dependencies). With a little bit of planning you can reuse most of your application code on both the client and the server side. On the downside, most of the server side technology is very new (only a few years old at most) and so you may find yourself implementing tools for use in your application rather than your application itself. Finding servers that support it will also be harder, again on account of it's age.
  • Perl: At the opposite end of the spectrum of age, we find Perl - the first commonly deployed language used to make web applications it still powers a great variety of useful websites out there (include new ones such as Pinboard.) The tools that are popular on CPAN have been vetted under fire. The good news is that it is not going anywhere anytime soon. The bad news is, you might have to search a little harder to find a module that supports [that newest, baddest thing that just came out yesterday].
  • PHP: The BASIC (or Perl, depending on who you ask) of the modern web, PHP was designed from the ground up to do one thing - make building dynamic web pages easier. Its popularity means that there is quite a lot of server support (PHP + Apache + MySQL is the Model T Ford of web servers -- everyone can afford one) and an enormous amount of pre-built code available for perusal. However, like BASIC, PHP's strength is also its greatest weakness. Almost anyone can write something that works in PHP ... how well it works depends on who wrote it. The caveat emptor that applies to all code snippets found on the web applies in spades to snippets of code written in PHP.
  • Python: The language that made programing fun again (at least for those who can see past the significant whitespace and lack of blocks / anonymous functions and overlook < 3.x's issues with non-ASCII out of the box.) It's a general-purpose, flexible and multi-paradigm language with quite a substantial standard library (but without .NET or Java's incredible bloat). In addition, quite a large amount of work has been done in it, so there is a good chance that what you need has been already developed by somebody else. Plus, it can make you fly.
  • Ruby (with or without Rails): The language that made the web fun, coupled, if you so desire, with the framework that made MVC cool. There is lots of documentation out there, and a great community, with many prebuilt tools (called gems) from which to pick and choose - free and cheap servers are not as common as their PHP counterparts, but they are likely to be of higher quality (when chosen at random).

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. ;-)

维持三分热 2024-11-14 07:37:46

正如有人已经指出的那样,您还需要使用服务器端语言。 (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.

梦过后 2024-11-14 07:37:46

您将需要采用 PHPRuby on Rails 与数据库交互。

You will need server side scripts in a language like PHP or Ruby on Rails to interact with a database.

沩ん囻菔务 2024-11-14 07:37:46

如果您已经熟悉 HTML5 和 JavaScript,我可以推荐使用 Node.JS 吗?这是您最接近您已经了解的浏览器开发知识的内容。它还可以与更接近 HTML5 建议的 IndexedDB 的数据库系统挂钩。

考虑到这一点...

如果您对编程和编程语言缺乏经验,那么您描述的应用程序将涉及相当大的学习曲线。虽然 Flash 和 Flex 具有非常好的界面来通过单击和拖动来构建应用程序,但 HTML5 的工具还不太成熟。

这并不是说 HTML5 不可能做到这一点。只是人们还需要等待一些时间才能创建工具来使应用程序构建过程更接近 Adob​​e 提供的功能。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文