问:我希望为青年计划创建一个基于 Web 的会员管理系统。这意味着我正在跟踪的成员将是参与该计划的青少年,并将所有信件发送给家长/监护人。有人可以列出一些关于从哪里开始或如何进行的基本想法吗?
答:当您设计供一个组织使用的软件时,您不必让它变得如此灵活。它只需要满足一个组织的需求。
但是,如果您正在设计要面向不同群体开放的软件,则您希望构建一个更灵活的应用程序框架,因为您需要考虑更多用户。
我不会骗你……你在处理一个大项目。大多数组织会在这样的项目上安排一个开发团队。
作为个人,这是学习软件开发和培养实现软件开发所需的基本技能的好方法。
我只是想让你明白,这不是一个需要几周才能完成的短期项目。
该应用程序的核心是具有许多附加功能的联系人管理器。这就是我要开始的地方:构建一个简单的联系人管理器。对于新开发人员来说,这是一个很棒的项目。
现在让我们从前端到后端来思考这个项目。
您的 Web 应用程序将存在于网页中,因此您将使用 HTML 作为文档结构。
您将使用 CSS 来创建 Web 应用程序的外观。
您将使用 JavaScript 将用户界面行为添加到 Web 应用程序。您可能希望将 jQuery 库与它一起用于 DOM 操作速记和您需要的任何动画。这让您可以将 jQuery UI 用户界面库用于诸如拖放行为之类的事情。
这涵盖了前端。到后端...
您正在处理大量结构化数据,因此您将需要使用关系数据库管理系统 (RDBMS)。最流行的开源数据库是 MySQL。
MySQL 可以处理大多数项目,但是您是为大型组织执行此操作,所以我不知道您是否会遇到性能问题。
另一个流行的数据库是 PostGreSQL。它旨在处理大量交易,因此它可能是更好的选择。
我建议在您进一步进入开发过程并准确了解您需要管理哪些信息时,与从事大型项目的更有经验的开发人员交谈。
当您与结构化数据库交谈时,您使用 SQL 或标准查询语言。它只是与数据库通信的标准方式,并且易于学习。
现在您需要编写一个后端程序或一系列与前端和数据库通信的程序。您可以使用多种语言编写后端程序,但最流行的语言是 PHP、Ruby on Rails、JavaScript(通过 NodeJS)和 Python。
我最熟悉PHP。我已经用 JavaScript 和 NodeJS 编写了一些小型服务器端程序,但我计划在未来更深入地研究这一点。我已经用 Python 编写了一些小程序。而且我从来没有接触过 Ruby on Rails,但我打算最终掌握它。
我不认为你会出错。我唯一的警告是关于 Ruby on Rails。
Ruby on Rails 是语言 (Ruby) 与框架 (Rails) 的组合。它对您隐藏了很多复杂性,这对于了解幕后发生的事情的有经验的开发人员来说非常有用,但对于新开发人员来说似乎是魔术。
当事情出错时(而且总是出错),您必须弄清楚哪里出了问题。你不能调试魔法,因为你不理解它。
如果 Ruby on Rails 呼叫您,请继续使用它。有一个非常活跃的开发者社区,您可以从中获得帮助。
但我的建议是避免将其作为第一语言。您希望看到复杂性,以便您可以随时了解它。