POWERBUILDER TRAINING
PART 1. INTRODUCTION
DAY 1
Introduction
- PB IDE
- Event-driven programming with windows, menu, visual objects
- DB connection
DataWindow
- SQL and Stored Procedure data sources
- Server-side vs client-side operations
- Computed fields
- Master/Detail DW
- Presentation styles
- DataStore
- Static/Dynamic dataobject binding
- GetFullState and SetFullstate
- Dynamic DW
- Delete and Filter buffers
- ShareData
OO Programming
– Inheritance, Encapsulation, Polymorphism
PB project upgrade
– Migration from older versions and discontinued features
DAY 2
Development tools
- PB Debugger
- Runtime
- PBD vs DLL
- Resource file
- Package Manager
User Objects
- Static/Dynamic creation
Generate powerful Graphs in PB
PB Shared Objects
- Multi-threaded programing
Build the application
– PBAutoBuild utility and its configuration
PART 2. INTERMEDIATE
DAY 3
PDF Support
- Native generation of PDF document
- Custom document properties
- Set user/master password
- Restriction on printing, saving and manipulation
PB Security
- Data Encoding: HEX, Base64, Base32, URL
- Data Encryption: Symmetry and Asymmetric
- Data Hashing: MD5, SHA, HMAC
- Data Compression and Extraction
UI Themes
- Style Sheets for entire application
- Style Sheets for specific objects
- Custom Style Sheets
RibbonBar
- RibbonBar Builder
- RibbonBar changes from code
- Event handling
DAY 4
XML manipulation
- DW techniques and PBDOM library
Cloud programming: HTTP and REST
- Background knowledge
- HTTP Protocol
- REST vs SOAP
- JSON vs XML
HTTPClient object
- Access Web URL
- Access REST Web Service
- Access SOAP Web Service
JSON manipulation
- Export/Import JSON from DW
- JSONParser
- JSONGenerator
- JSONPackage
RESTClient object
- HTTP operations from DataWindow
- Restful services
.NET DLL Importer
- Why and when loading .NET DLL
- Build custom C# DLL and load in PB
DAY 5
TabbedView support for MDI window
Autocomplete for DDDW & DDLB
Native email support (SMTP Client)
PDF Builder
RichTextEdit control
OpenURL function
Web Browser Control
- A powerful Preview tool
Source control
- GIT vs SVN
- GIT usage from PB
- Connect to Workspace
- Add to Source Control
- Git Commit, Push, Pull, Revert
- Branches
- More options
PART 3. ADVANCED
DAY 6
SnapDevelop IDE
REST API
- Understanding MVC architecture
- C# Datastore and C# Data Model
- Controller Scaffolding
- Service Scaffolding
- Swagger
Make your API Restful
- GET, POST, PUT, DELETE endpoints
Deployment
- Local server
- MS IIS and WebDeploy
- Remote platforms
DAY 7
Secure the API
- JWT Authentication
- OAuth 2.0
Asynchronous programming
Development Tools and Techniques
- PowerScript to C# Generator
DAY 8
SnapObject ORM components
- SQLGenerator
- SQLExecutor
SQLModelMapper
- .NET Datastore limitations
- Nested models
- Understanding Transactions
- Tracking DB changes
- Code Examples
DAY 9
PowerServer framework
- Design Installable Cloud App (ICA)
- Setup
- Frontend and backend separation
- DB connection pooling
- Dynamic vs Static DB cache binding
- Unsupported PB features
- Deploy SalesDemo app
- Security
DAY 10
PowerClient architecture
- Setup and deployment
PBAutoBuild
- Build and deploy automation
Advanced Graphs
- Apache ECharts
REST API advanced deployment
- Web Deploy
- Docker
DAY 11
PB 2025
– New compiler and solution
– Modern code editor
– Converting MDI Menu to RibbonBar
– New .NET DataStore project
– Secure Connection Encryptor
– Support high DPI and multiple display monitor
– Connecting with PostgreSQL via ADO.NET driver
– Upgrading to .NET
– SMTPClient authentication type
– DataWindow enhancement
– Miscellanea
PART 4. Design of Web/Mobile UI
DAY 12-14
Design of Modern UI using Vue.JS for calling C# REST APIs
SPA and PWA
Environment Setup
– Vue.JS and Node.JS
– Quasar and Material Design
Frontend Design
– Components
– Layout and pages
– Vue Router
– Wireframing
RESTboard library
iOS and Android packaging
- Capacitor runtime
- App store and Play store
