用于编写管理控制台(即webmin)的语言是什么?

时间:2010-10-05 05:43:58

标签: python ruby migration administration

我们有一个内部开发的基于Web的管理控制台,它使用C CGI和Perl脚本的组合来管理我们的邮件服务器堆栈。最近我们一直在考虑清理代码(好吧,更换大部分代码),使实现更安全,并改善整体行为。

我没有太多的编程知识,但我使用Ruby开启和关闭(主要用于编写erb模板),因此考虑使用ruby / rails开发这样的应用程序(现在休班,我也是需要学习东西!)。

在盲目地学习语言之前,你们有什么建议?如果这个问题太模糊,请告诉我。如果需要,我会尽量提供更多信息。

4 个答案:

答案 0 :(得分:2)

您是否考虑将应用程序编写为Webmin模块?

当你这样做时,你可以免费获得很多东西(用户和组,大量安全功能,与配置文件相关的各种辅助功能,以及大量现有代码,用于UNIX / Linux的大多数方面)系统)。你也可以获得很多免费的东西,比如动作记录,wbm或apt或yum的软件包和更新,在线帮助系统等。

也有一些缺点。它是一个古老的代码库,因此它在API中有一些笨拙的位。如果你不是一个老式的Perl程序员,很多旧的模块可能有点难以理解。但是,它是一个维护良好的代码库,并且已经被数百万用户打了十几年。它非常强大。用户界面并不漂亮,但它具有相对主题性,如果您要分发最小化版本,则可以更轻松地自定义UI。

我怀疑你可以比从头开始或使用大多数现有框架更快地启动和运行,而这些框架并非专门用于构建系统管理接口,而是采用Webmin的方式。

此外,它已获得BSD许可,因此您可以随心所欲地使用它,包括使用它构建自定义商业应用程序(多年来已有数百家公司这样做)。

答案 1 :(得分:0)

在不了解现有应用程序的情况下,我会说这有效归结为“哪种语言喜欢与之合作?”。

Python和Ruby都是成熟的语言,拥有丰富的库基础设施。它们还拥有流行的,类似的Web应用程序框架,分别是Django和Ruby-on-Rails。

由于您正在移植现有的Perl应用程序(允许),因此值得注意的是Ruby 相对更类似于Perl。鉴于Ruby受到影响"primarily by Perl, Smalltalk, Eiffel and Lisp",这并不奇怪。

答案 2 :(得分:0)

如果你已经知道一点ruby,那么就没有理由使用它。

如果您对学习另一种语言感兴趣,那么您尝试做的几乎可以在任何语言/框架中完成,只需要您想要哪一个学习。

答案 3 :(得分:0)

django有一个很好的管理界面