为什么大学应该考虑使用Joomla
如果我要回到大学教书,我会选择Joomla作为学生作业的网页平台。以下是我的理由...
在过去25年里,我在三所不同的大学学习或教学,在这段时间里,我看到了从当前技术到教学软件开发的转变。特别是,系部选择了Smalltalk、C++和Java来教授面向对象的编程和开发。OO技术的标准化使工作场所中出现了一些新的实践:设计模式、敏捷过程、重构、测试驱动开发等。这些都是学生应该学习的现实世界学科,因此学校选择的技术很重要。
当然,在过去15年里,相当一部分软件开发已经转移到互联网上。Web开发是不同的,它涉及的问题和学科超越了传统的计算机科学领域。一个全面的学习体验应该包括对Web技术的实践操作和对相关问题的接触,如安全性和国际化。学生期望如此,而Web行业也将从这样的毕业生中受益。
五年前,我转向全职Web开发。我选择Joomla而不是其他CMS的原因是基于我过去的经验。我想要一个CMS平台,让我能够应用我在软件工程期间获得的学科知识。对我来说,Joomla是合乎逻辑的选择。如果我要回到大学教书,我会选择Joomla作为学生作业的网页平台。以下是我的理由:
1. 开源
这是一个显而易见的问题。任何用于大学学习的候选技术都必须有一个学生可以自由工作的开放代码库。
2. 面向对象
在软件工程领域,缺乏面向对象(OO)是一个致命缺陷。面向对象设计是我们教授数据封装、抽象、继承、多态、内聚与耦合、对象之间的协作和依赖、代码复用以及所有良好软件设计的基本原则的方式。进一步来说,面向对象是过去二十年中一些最重要学科的推动因素。我们需要一个面向对象系统来进行教学...
- 设计模式:针对常见设计问题的可重用抽象解决方案。
- 单元测试和测试驱动开发:通过测试套件指导软件开发,并识别出破坏先前验证行为的代码更改。
- 重构:提高软件的可维护性。(好吧,可以对过程式代码进行重构,但许多重构假设了面向对象。)
- 设计原则:使用对象使我们能够发现和实践如“开闭原则”、“里氏替换原则”和“依赖倒置原则”等已验证的设计原则。
在严重分裂的CMS市场中,当我们要求开源和面向对象时,候选者名单会显著缩小。在这些满足这两个重要标准的CMS中,Joomla是应用最广泛的,拥有庞大的开发者和终端用户社区。
3. IDE支持
任何供学生使用的开发平台都应该允许调试以及在笔记本电脑上安装。网络技术可以满足这些要求。
软件专业人员使用集成开发环境(IDE),多个IDE支持Joomla开发。例如,PhpStorm是一款商业IDE,但课堂使用免费,它提供网页和网页应用的调试,与GitHub等版本控制系统集成,并提供如重构等强大的编码工具。其他IDE如Eclipse和NetBeans提供类似的功能。
此外,因为可以在笔记本电脑上安装和运行网络服务器,每个学生都可以拥有自己的安装和专用开发环境。
4. 模型-视图-控制器
Joomla框架基于经典的MVC模式——这在类似的CMS中出人意料地缺失。这种分离允许前端开发人员专注于前端技术,如HTML、CSS和JavaScript。前端开发与更深入的服务器问题分离。使用Joomla作为教学平台提供了提供网络设计课程或与美术系联合开设课程的机会。鉴于其通过模块和模板改变和组织视觉设计的简易性和非同寻常的灵活性,Joomla因其对设计师友好的CMS而享有盛誉。
5. 访问控制/安全
在互联网时代,安全是一个非常重要的教学概念。Joomla在这方面特别强大,因为其本地的ACL(访问控制列表)集成了一个可配置的用户、组和权限系统。可以使用Joomla的ACL进行实际操作,教授如RBAC(基于角色的访问控制)等已建立的模型。
6. 国际化
基于网络的开发需要考虑全球。作为一个全球采用的CMS,Joomla将其多语言功能集成到核心中。提供了60多种语言包,并且强烈建议每个项目实现此功能。设计良好的组件说明了多语言站点的意义,并展示了如何实现多种语言。
7. 库和代码复用
整个CMS都是基于可重用库构建的,核心和第三方组件都预期从中扩展。学生可以遍历代码执行,以更好地理解代码复用和包依赖的原则。部门和学生可以创建和添加自己的库和API集合,以扩展到专用应用程序。
8. 真实网络应用
被称为CMS的Joomla也是一个开发功能齐全的Web应用程序的平台。几乎所有需要桌面编译器(C#、Java等)的学生作业都可以在Joomla平台上用PHP编写——无论是作为CLI可执行文件还是Web应用程序。作为Web应用程序,开发者可以利用CMS的丰富功能,如用户管理、访问控制、数据库访问和网页显示。学生的作品不必是理论性的——它可以被打包成真实可分发Web应用程序。
9. 真实的机会
由于Joomla是开源的,并且由其社区不断开发,因此学生项目可以贡献给“Joomlasphere”。有用的应用程序可以作为免费或付费产品(即“扩展”)提交,供公众下载。因为Joomla的核心开发依赖于GitHub上的志愿者协作,学生可以提供贡献(从补丁到新功能),这些贡献将接受同行评审并考虑接受。每年Google Summer of Code项目赞助大学生与导师一起在特殊Joomla开发项目上工作。
10. Joomla架构解析
《Joomla编程》一书,作者Dexter和Landry,正是您和学生需要的,以便了解Joomla是如何“幕后”工作的。它解释了构建网页的所有步骤,扩展或注入自定义代码的钩子,以及安全问题、语言和数据库访问等问题。像任何开源项目一样,Joomla也在不断演变,自该书出版以来已添加了新功能。尽管如此,您会发现这本书对于解释架构和说明如何通过自定义项目扩展平台非常重要。
要点
这一切的目的不是让Joomla或任何Web平台取代课程中的传统技术,如Java。但Web技术应该包含在今天的课程中。这种技术应该是经过验证的、面向对象的、适合学生项目,并且有利于教学。
作为支持学生作业的Web技术,Joomla满足了这一需求。目标是教授软件原理和学科,学生可以在Web技术上编码并处理现代Web问题,从而提高这些目标。作为Web开发的平台,考虑Joomla——一个开源的、面向对象的CMS,学生可以在其上实验和实践构建优秀软件的基础。
在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能与Joomla项目的官方立场不符
通过接受,您将访问https://magazine.joomla.net.cn/外部第三方提供的服务
评论