views:

277

answers:

3

Hello,

I'm a .Net developer and I heard that since release 12 PowerBuilder enhanced integration with .Net. I would like to know what are the advantages of using Sybase PowerBuilder over normal WPF programming techniques and so on.

When is it recommended to use Sybase PowerBuilder ?

Thanks for the help

+6  A: 

First advantage to using PowerBuilder has always been and probably will always be the DataWindow. With it, you get advantages like:

  • Develop once to get a scrollable single/multi-row user interface and a printable report (WPF takes the edge off this advantage, but I think the DataWindow still takes it)
  • Expression-based, row-by-row-evaluated attribute definition (e.g. bold a salary if it exceeds the salary on the row before, show teaching_assistant only if the dept is "Education", etc...)
  • Logical record locking
  • SQL injection attack prevention
  • Dynamic UI and/or report generation based on a SQL statement
  • DBMS portability
  • Handling of identity values
  • Disk caching
  • Conversion of database errors to events
  • Ability to monitor, intercept, modify or cancel SQL at run time
  • Ability to export data or user interface to many formats
  • New in 12, it allows you to bind any WPF control to a column in the DataWindow's data set

The other big thing that has been promoted as an advantage is the fact that you can use visual inheritance. So, you can create a control ("standard user object") and place it on multiple windows or canvases ("custom user objects") and override the attribute at the descendant level. Then, you can later go back and change an attribute on the ancestor "standard user object" (e.g. change your font standard), and changes will propagate to all places that user object is used, assuming the changed attribute isn't overridden at the descendant level. I like the attribute inheritance, but not as much as I like the method inheritance. For example, with method inheritance, coding in one place I can immediately distribute a new control behaviour universally to my application (e.g. in WPF, maybe I could give my buttons a throbbing red glow whenever they are moused over... or, in good taste, maybe not). Or, I can load up optional functionality in the ancestor and make it available to all the descendants immediately.

At the time of this writing, these are still early days for PB12, so maybe new advantages will come out as people use them. I reserve the right to come back and rewrite my history.

Good luck,

Terry.

Terry
+1  A: 

and above all: less typing. :-)

Anders K.