为什么大学应该考虑使用 Joomla!
如果让我回到大学教学,我会选择 Joomla! 作为给学生布置作业的平台。原因如下...
- 作者:Randy Carey 1
- 译者:亚历山大·斯米尔诺夫(Alex Smirnov)
在过去25年里,我在三所不同的大学学习和教授,在此期间我注意到当前教学方法在软件开发领域的转变。[具体来说],对于面向对象编程和开发的教授,学院选择使用 Smalltalk、C++ 和 Java。面向对象技术的标准化使得在职场中出现了一些新的实践:[例如] 设计模式、敏捷流程、代码重构、测试驱动开发等等。这些都是学生需要学习的真实世界的主题,因此大学选择技术非常重要。
在过去15年里,软件开发的一个显著部分当然转移到了网络。网络开发具有其独特的特点和问题,这些特点和问题超出了传统计算机科学的范畴。良好的基础教育应该包括对网络技术的实际操作,以及对安全性和国际化等问题进行实践。学生期望如此,网络行业也将从这样的毕业生中受益。
五年前,我转向了全职网络开发。我选择 Joomla! 而不是其他内容管理系统是基于我过去的经验和信息。我需要一个能够让我应用我在软件工程师时代获得的学科的系统。对于像我这样的人来说,Joomla! 是一个合理的选择。如果我能回到大学教学,我会选择 Joomla! 作为给学生布置作业的平台。原因如下。
1. 开放源代码
这不仅仅是一个谜题。为了在大学中教授任何技术,都必须基于向学生免费开放以供学习的研究代码。
2. 面向对象
在软件工程领域,面向对象的不足是一个障碍。面向对象的设计是我们教授数据封装、抽象、接口、多态、粘合性而不是耦合、对象交互和依赖性、代码重用以及所有其他重要设计原则的方式。此外,面向对象是过去二十年中一些最重要的学科的关键因素。我们需要一个面向对象的系统来进行教学...
- 设计模式 (Design Patterns):在设计中重复使用的通用解决方案。
- 单元测试和测试驱动开发 (Unit Testing and Test-Driven Development):增加测试集以指导软件开发,以确定破坏先前确认行为的代码更改。
- 代码重构 (Refactoring):提高软件的可维护性。(好吧,某人可能可以重构过程代码,但重大的代码重构意味着面向对象。)
- 设计原则 (Design Principles):使用对象让我们有机会打开并实践经过验证的设计原则,例如“开放-关闭”、“里氏替换”和“依赖注入”。
在严重碎片化的内容管理系统市场中,一旦我们开始要求开放代码和面向对象,候选名单就会大幅减少。在这些满足这两个重要标准系统中,Joomla是最广泛应用的,并且拥有庞大的开发者和最终用户社区。
3. IDE支持
任何旨在供学生使用的平台都应该允许调试和在笔记本电脑上安装。Web技术会相应调整。
软件开发专业人员使用IDE(集成开发环境),许多IDE支持Joomla系统的开发。例如,PHPStorm,这是一款商业IDE,在大学课堂中免费使用,提供网页和网页应用的调试,与GitHub等版本控制系统集成,并提供代码重构等强大的编码工具。其他IDE,如Eclipse和NetBeans,提供类似的功能。
此外,由于可以在笔记本电脑上安装和运行Web服务器,每个学生都可以有自己的服务器安装和单独的开发环境。
4. “模型-视图-控制器”模式
Joomla框架建立在经典的“模型-视图-控制器”模式之上——这在类似的内容管理系统中是罕见的。这种分离使开发者能够专注于前端技术,如HTML、CSS和JavaScript。前端开发与服务器更深层的问题分离。使用Joomla作为教学平台提供了提供网络设计课程或与图形艺术系联合的课程的计划。Joomla因其易于使用和灵活性而赢得了内容管理系统的良好声誉,通过模块和模板提供了视觉设计的变更和重构的便利。
5. 访问控制和安全性
安全性是互联网时代教学的一个非常关键的概念。Joomla在这方面非常强大,其标准的ACL(访问控制列表)集成了可定制的用户、组和权限系统。可以通过使用Joomla ACL(访问控制列表)几乎教授任何已建立的模型,如基于角色的访问控制(RBAC)。
6. 国际化
基于Web的开发应该具有全球视野。作为国际认可的内容管理系统,Joomla将其多语言功能嵌入到其核心中。有超过60种安装语言,每个项目都鼓励使用此功能。设计良好的组件说明了多语言网站的重要性,并展示了如何应用多种语言。
7. 库和代码重用
这个系统建立在可重用库的基础上,预计将扩展内核和外部组件。学生可以通过执行代码来更好地理解代码重用原则和包之间的依赖关系[关系]。学院和学生可以创建和添加自己的库和API集合到专门的Web应用程序中,以扩展这些特殊应用程序。
8. 实际Web应用程序
作为内容管理系统而闻名,Joomla也是开发全面Web应用程序的平台。实际上,任何需要桌面编译器(如C#、Java等)的学生作业也可以在Joomla平台上编程,无论是作为CLI接口的可执行命令,还是作为Web应用程序。在这种情况下,开发人员可以利用Joomla系统的丰富功能,如用户管理、访问控制和网页表示。学生的工作不一定只限于理论,还可以打包成真实可分发Web应用程序。
9. 真实的能力
由于Joomla是开源系统,并且由其社区不断开发,因此精心设计的项目可以贡献于“Joomla领域”。有用的应用程序可以免费提供,也可以作为付费产品(也称为“扩展”)提供,可以在公共领域下载。由于Joomla内核的开发依赖于GitHub上志愿者的协作,因此欢迎学生提出自己的贡献(从补丁到新功能),这些贡献将由同事审核并被纳入下一个系统版本。每年,“Google Summer of Code”项目赞助大学生与导师合作,具体从事Joomla开发领域的项目。
10. Joomla的解释架构
由马克·德克斯特(Mark Dexter)和路易斯·兰德里(Louis Landry)撰写的《Joomla编程》一书,正是您和您的学生了解Joomla“内部运作”所需的内容。它逐步解释了网页的创建过程,涉及钩子和随机代码插入以及安全、语言和数据库访问等问题。与任何开源项目一样,Joomla不断发展和改进,本书出版后,Joomla已经添加了新功能。然而,您会发现这本书对于解释Joomla架构和展示如何通过随机项目扩展Joomla平台非常重要。
意义
这一切的意义不在于Joomla或其他系统取代教学计划中的传统技术,如Java,而在于Web技术应该融入当今的教学计划。这种技术应该是经过验证的、面向对象的,适合学生项目,并且对教学友好。
作为支持学生作业的技术,Joomla满足这些需求。目标是教授软件原理和学科,当学生基于Web技术编码并处理现代Web问题时,这将取得进步。
考虑将Joomla作为Web开发平台,这是一个开源的面向对象系统,学生可以在其中进行实验并练习创建优质软件的基础。
1作者Randy Carey的英文原文文章: https://magazine.joomla.net.cn/issues/issue-mar-2014/item/1784-why-universities-should-consider-joomla
在Joomla社区杂志上发表的一些文章代表作者对特定主题的个人意见或经验,可能不代表Joomla项目的官方立场。
通过接受,您将访问由https://magazine.joomla.net.cn/之外第三方提供的服务
评论