自从它存在以来我一直在开发asp.net(之前也是经典的asp),而且我一直在使用SQL服务器作为我的后端数据库。
经过认真考虑,我现在想改变我使用的语言。考虑到.NET平台的OOP功能,您建议我开始学习其他语言而不是ASP.NET,为什么?
另外我应该将什么用作数据库?我没有SQL Server以外的数据库的经验。
答案 0 :(得分:10)
Django会得到我的投票。
和你一样,我一直在使用ASPNET创建,然后一项工作迫使我使用PHP。然后另一个。而另一个。我已经达到了90%的时间用于PHP的时间点,我不想在两个完全不同的工作流程之间分配时间,所以我就去了。
PHP,正如您可能或可能不知道的那样,与C#甚至VB.NET等语言的相对优点相比,它是一种完整的语言阴影。并且它不会很快变得更好。开发框架意味着你必须为每个项目上传50万个文件,这一切都只是觉得不必要。
大约两个月前,我开始研究替代方案。我现在使用Linux,所以我在很多时候碰到了Python。它看起来很漂亮。它总是很好地格式化(按设计),并且它具有相当优秀的OOP技术和机会。
然后我了解了Django ORM,所以我想我会创建一个具有一些基本互动功能的快速网站。我为我女朋友的家人建了一个秘密的圣诞老人网站。多种形式,身份验证,列表和详细信息页面以及AJAX。让我(一个完整的超级新手)两天来实现功能,以及本周剩下的时间来美化(我是一个慢设计师)。
其他好处包括其卓越的内置缓存,真正了解如何编程的社区,预制,可重复使用的应用程序,您可以插入您的网站和去,以及python的easy_install和pip,使得模块如此简单。哦,与ASPNET不同,它可以运行在任何可以为个人项目节省大量资金的操作系统上。
我已将其余的PHP站点(以及我必须维护的站点)移植到它上面,我即将开始移植我的ASPNET项目。我很高兴。
数据库在Django中几乎不是问题。您选择一个适合项目大小的项目,将其插入并且ORM处理所有DBIO。
我将SQLite用于中小型项目,将MySQL群集用于大型项目。
答案 1 :(得分:2)
我会将PostgresSQL用于您的数据库。它是迄今为止功能最齐全的开源数据库。虽然MySQL似乎被认为是最好的速度。如果成本不是对象,那么oracle显然是一个重要的参与者。
在语言方面,Java是与.Net语言相似的最佳选择。它是严格类型和OO喜欢C#。并且广泛用于大型企业,就像.NET一样。
当然,如果你只是为了改变而改变,那么转换到更不同的东西可能会更好。 Ruby和Python是当今最具活力的大型语言,它们将提供不同的视角。
答案 2 :(得分:2)
Ruby on Rails似乎是一个非常好的选择。只是它有点太不同,有点太奇怪了。但似乎也是最有效的。 RoR与数据库无关,因此数据库的选择与语法无关。编写应用程序时,您无需考虑使用哪个数据库。您只需使用RoRs方法访问数据库,它就会自动将其连接到数据库引擎。
或者使用PHP和MySQL,它已得到证实并广泛传播。我自己首先使用MS SQL Server并且没有问题地切换到MySQL。 PHP语言有点脏,但它使用起来很舒服,也得到很好的支持和记录。如果您决定采用这种方式,请尝试ZEND框架,它解决了很多问题,使编写Web应用程序变得更加容易。
答案 3 :(得分:2)
使用Mono,它可以在Linux,Mac和Windows上运行。它在Ubuntu中运行我的ASP.NET程序比在我的开发机器上运行时更快(Windows XP的IIS,虽然我还没有比较在Windows服务器上运行时的速度)
Mono支持的语言:C#,Java,Boo,Nemerle,VB.NET,PythonNet,IronPython,Oberon,PHP,Object Pascal,Cobra,Component Pascal,Delta Forth,DotLisp,#Smalltalk
对于数据库,使用PostgreSQL,它被称为开源数据库的Oracle。它具有许多适用于企业类型系统的功能。
答案 4 :(得分:2)
为什么不看看ASP.Net MVC,你会充分利用你已经知道的很多内容,并且在网站方法上有所不同。只是在没有令人信服的理由或目标的情况下进行切换可能没那么有用,但学习另一种语言并没有什么坏处。
此网站建立在ASP.Net MVC和Linq to SQL上。
答案 5 :(得分:1)
你离开.net场景的原因是什么?
语言的改变可能无法解决根本原因。
由于我的工作,我自己从LAMP切换到.net,然后逐渐在我的爱好时间让我100%专注于1种语言。
答案 6 :(得分:1)
由于我的工作,我自己从LAMP切换到.net,然后逐渐在我的爱好时间让我100%专注于1种语言。
您可能从LAMP中学到了一些可以应用于.NET的东西。这是探索其他语言和框架的最佳理由。
动态脚本语言可以节省大量的开发时间:无需编译,弱类型和灵活性。
就个人而言,我喜欢php的灵活性。没有抽象的,不灵活的,复杂的Web控件可供学习。我可以完全控制我的小部件,因为我可以更改底层代码。
答案 7 :(得分:1)
我不知道php仍然像一个乱糟糟的脚本语言......我不想回到旧时代......
不,我需要让班次尽可能顺利。从我读到的内容来看,似乎红宝石将成为选择......虽然Django看起来很有趣。
说实话,我在JavaScript / jQuery和DOM中发现和体验越多,我在页面上使用asp.net控件和相关垃圾的次数就越少。我已经达到了这样的程度,我知道使用ASP.NET作为我的项目的后端(发送和检索数据的对象和数据类)以及正面的标准HTML表单和控件,使用jQuery进行DOM操作和通信(如此) ajax)与服务器。
在我的开发生涯中已经到了这一点,我认为学习一种比asp.net更快的新语言是一个好主意,它不依赖于windows,而且更容易学习。
然后我可以购买一本macbook并放松一下:)
答案 8 :(得分:1)
SQL Server Express对我来说很好。我在c#中使用了很多不同的数据库,但生产中只使用了mysql和二进制文件。
答案 9 :(得分:1)
ASP.NET不是一种语言。它是一个框架,您可以在其上构建网站和Web应用程序。
原因不是以工作为中心。 最近我意识到我已经受够了 让我陷入困境的碎片 与微软。例如我想买一个 MacBook,但我不能,因为我需要IIS 和VS等。(我知道我可以使用Windows 在Mac上,但有什么意义)
您是否厌倦了Microsoft一般或ASP.NET?或者您想要加入哪个需要MacBook所有权的Cult?或者您对LAMP或Java开发感兴趣吗?你还想做网络应用程序还是对桌面或移动应用程序更感兴趣?
答案 10 :(得分:0)
就数据库而言,最明显的替代方案是MySQL。其他选项可能是PostgreSQL或SQL Lite
答案 11 :(得分:0)
我正在创建一个名为MPDA的项目。它是一个简单的Dll和应用程序,可以创建充当数据库的文件。它面向希望使用不会影响托管系统上的系统性能的数据库的.NET开发人员。没有网站依赖项。如果您有FTP访问权限,则可以托管它。无需安装客户端或网站。适用于具有文件托管功能的任何平台。缺点是它只能从.NET访问。