我们有一个内部开发的基于Web的管理控制台,它使用C CGI和Perl脚本的组合来管理我们的邮件服务器堆栈。最近我们一直在考虑清理代码(好吧,更换大部分代码),使实现更安全,并改善整体行为。
我没有太多的编程知识,但我使用Ruby开启和关闭(主要用于编写erb模板),因此考虑使用ruby / rails开发这样的应用程序(现在休班,我也是需要学习东西!)。
在盲目地学习语言之前,你们有什么建议?如果这个问题太模糊,请告诉我。如果需要,我会尽量提供更多信息。
答案 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有一个很好的管理界面