3

我是一名 .NET 开发人员,听说 PowerBuilder 第 12 版增强了与 .NET 的集成。使用 Sybase PowerBuilder 与普通 WPF 编程技术等相比有哪些优势?

什么时候推荐使用 Sybase PowerBuilder?

4

3 回答 3

6

使用 PowerBuilder 的第一个优势一直是并且可能永远是 DataWindow。有了它,您将获得以下优势:

  • 开发一次以获得可滚动的单行/多行用户界面和可打印的报告(WPF 占据了这一优势,但我认为 DataWindow 仍然占据优势)
  • 基于表达式,逐行评估的属性定义(例如,如果薪水超过前一行的薪水,则加粗,仅当部门为“教育”时才显示教学助理等...)
  • 逻辑记录锁定
  • SQL注入攻击防范
  • 基于 SQL 语句的动态 UI 和/或报告生成
  • DBMS 可移植性
  • 身份值的处理
  • 磁盘缓存
  • 将数据库错误转换为事件
  • 能够在运行时监控、拦截、修改或取消 SQL
  • 能够将数据或用户界面导出为多种格式
  • 12 中的新功能,它允许您将任何 WPF 控件绑定到 DataWindow 数据集中的列

被提升为优势的另一件大事是您可以使用视觉继承这一事实。因此,您可以创建一个控件(“标准用户对象”)并将其放置在多个窗口或画布上(“自定义用户对象”)并覆盖后代级别的属性。然后,您可以稍后返回并更改祖先“标准用户对象”上的属性(例如更改您的字体标准),并且更改将传播到使用用户对象的所有位置,假设更改的属性没有被覆盖子孙级别。我喜欢属性继承,但不如我喜欢方法继承。例如,通过方法继承,在一个地方编码,我可以立即将新的控制行为普遍分布到我的应用程序中(例如在 WPF 中,也许当我的按钮被鼠标悬停时,我可以给我的按钮一个跳动的红光......或者,在好的品味中,也许不是)。或者,我可以在祖先中加载可选功能并立即将其提供给所有后代。

在撰写本文时,PB12 还处于早期阶段,所以随着人们使用它们,也许会出现新的优势。我保留回来改写我的历史的权利。

祝你好运,

特里。

于 2010-05-13T12:17:37.270 回答
3

由于我的工作,我已经使用 PowerBuilder 1 年了,这些是我的结论:

  • 好的,PowerBuilder 是一个有利可图的产品。这是因为侏罗纪项目中有很多遗留代码,比如银行、医院的软件……没有人使用 PB 开始新项目,公司不想听到任何关于迁移的消息。
  • 我认为 PB 12 让您使用.NET实现应用程序是一件很棒的事情。但这对 PowerBuilder 没什么好处,它是关于.NET的。对 PB 程序员来说是个好消息,也许他们现在学习了一种更有用的编程语言。
  • Datawindow只是一个实现了一些操作的 sql 解决方案,基本上是选择、插入、更新一些其他的东西。也许 15 年前它很棒,但现在没什么特别的了。
  • 这些是最小的,您必须实现许多其他语言内置的功能。
  • PB 没有框架,所以项目多年来一直在不受控制地增长。就大小和耦合而言,它们曾经是怪物。
  • 这使得代码维护成为一场噩梦。
  • 薪水可能不错,但请记住,如果您想换工作或需要换工作,您使用PowerBuilder的经验可能不会有太大帮助。

由于这些以及更多的经验,如果不是绝对必要的,我建议您不要花任何时间尝试学习 PB。只需使用 PB 12 为您提供的 PowerBuilder .NET IDE。

于 2011-10-23T17:20:09.430 回答
-3

哈哈,“Hans Passant”和“Night Shade”听上去像是有“生产力羡慕”。

当然,您可以使用 C# 或 Python 等第三代编程语言进行编码......并顺应 Microsoft 不断要求的架构更改,或者您也可以使用 PowerBuilder 等工具,该工具历来为软件开发人员提供了最高效的平台之一通过保护我们免受无处不在的底层操作系统 API 和 ugghh 无休止的架构层的影响来获得......

嗯……也许这就是为什么微软是 PowerBuilder 的第一批用户之一!

Sybase 作为一家公司实现跨越式发展也是有原因的。你能说一下移动数据库的市场份额吗?

但话又说回来,我说的是现实世界的经济学。你能提供什么以及需要多长时间。PowerBuilder 胜出,毫无悬念。

理论上,当然,还有其他工具在某些方面可以提供更多功能,但在实际操作中,特别是对于大型企业数据库系统,几乎没有工具可以与 PowerBuilder 提出相同的要求。

一些客户?大多数州政府、西南航空公司、加拿大国家等。

哦,我们的薪水也更高。

:)

于 2010-11-05T23:56:26.967 回答