| By Thomas Zang | Article Rating: |
|
| January 5, 2009 09:30 AM EST | Reads: |
2,486 |
.NET has become a mainstream programming platform. To be in line with PowerBuilder's .NET strategy (.NET deployment and .NET development), PB11 introduced many .NET-related features:
- Its .NET compiler enables users to develop .NET Windows Forms (including SmartClient) applications and ASP.NET Web Forms (including AJAX-enabled) applications with functionality similar to PB's native pcode compiler.
- Its .NET language interoperability feature enables users to consume part of .NET resources in PB .NET targets (Windows Forms or Webs Forms); users can make use of imported .NET types to interoperate with native PowerScript code to fulfill jobs such as consuming .NET classes, interfaces and enumerations with .NET namespaces, and consuming parameterized constructors, static members and indexers of .NET classes.
- PB11 also enables users to deploy PB NVOs to .NET assemblies or .NET Web Services.
These language features are a major step on PB's roadmap to providing support for .NET platform, however they are
relatively isolated and have some limitations, such as:
- Functions cannot be invoked on imported .NET primitive types.
- PB NVO cannot inherit from .NET classes.
- PB objects cannot implement .NET interfaces.
- .NET generic and delegate types are not supported.
- .NET classes and interfaces cannot be used as parameters of functions/events.
- PB Dynamic and post invocation are not supported by .NET methods.
- .NET arrays of arrays are not supported.
- Accessing .NET static members with instance reference is not supported.
Meanwhile, the .NET Framework is becoming more and more powerful, the .NET Framework class library is expanding with each new release, and more useful features have been introduced in the latest version of .NET Framework 3.5.
In PB12, the PowerScript language is supposed to be a CLS-compliant .NET language that can easily interoperate with other .NET CLS-compliant languages. Users will be able to consume and extend any CLS-compliant .NET resources thereby saving them a lot of development time.
On the other hand, more modern language features will be brought into PowerScript as well. These features will be delivered in a 4GL manner to maintain PB's productivity and bring PowerScript's differentiators to other .NET languages. The original PowerBuilder object model will be kept as much as possible to minimize the learning curve and preserve customers' investment, knowledge, and skills in PowerBuilder.
Why should PowerScript be a CLS-compliant .NET language? What is CLS? Simply put, CLS is a set of rules intended to promote language interoperability. Language interoperability means some code written in one language can interact with other code written in another language. Language interoperability can help maximize code reuse and, therefore, improve the efficiency of the development process.
Published January 5, 2009 Reads 2,486
Copyright © 2009 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
About Thomas Zang
Thomas Zang is a staff software engineer at Sybase. He works in the Singapore kernel team of the PB department and is in charge of the PowerScript language enhancement project in PB12.0.
- Ulitzer vs. Ning - a Quick Review
- First Time with AJAX.NET
- Make Your Design Ideas Speak: Using UML in PowerBuilder Projects
- A Review of Key PDF and Font Concepts
- New Features in PowerBuilder 11.5
- PowerBuilder 12 CTP Launch and Code Camp
- PowerBuilder 11.5 Top Feature Picks
- Sybase iAnywhere Broadens Support of Mobile Device Management Solution
- Consuming a SQL Anywhere Native Web Service Using a .NET Client
- PowerBuilder Developer's Journal: Legacy Isn't a Dirty Word
- Sybase to Present at Virtualization Conference & Expo
- How to Circumvent the Seven Deadly Biases
- iPhone Able to Be Adopted by Enterprise Businesses
- SAP & Sybase: Transforming Today's Mobile Workforce
- Ulitzer vs. Ning - a Quick Review
- SYS-CON Launches "PBDJ 2009" Website for PowerBuilder Developer's Journal
- First Time with AJAX.NET
- Make Your Design Ideas Speak: Using UML in PowerBuilder Projects
- Sybase Reports All-Time Best Ever Quarter and Year
- Sybase's Mission to Mobilize the Enterprise is Moving Full Speed Ahead
- PowerBuilder History - How Did It Evolve?
- Custom Common Dialogs Using SetWindowsHookEx
- Book Excerpt: Sybase Adaptive Server Anywhere
- OLE - Extending the Capabilities of PowerBuilder
- DataWindow.NET How To: Data Entry Form
- Sybase ASE 12.5 Performance and Tuning
- DDDW Tips and Tricks
- Working with SOA & Web Services in PowerBuilder
- Office 2003 Toolbar: A New Look For Your Old PowerBuilder App
- Dynamically Creating DataWindow Objects







































