4D Summit 2020 – Advanced Training by JPR
Goals
With the introduction of Objects, 4D started a revolution by introducing a real object-oriented development environment. This change was inevitable, due to the fast pace of computer evolution, the ready availability of memory and storage, and the constant necessity of increasing developer productivity. This revolution also introduced a terrific change in application analysis and programming.
Session scheduling displayed in European, Asian and Australasian timezones (times shown in these times).
NEW Training format!
This Advanced Training explains in detail how 4D works, “under the hood”. The omnipresence of references in handling every kind of object should become a natural way of approaching modern programming in order to optimize development and maintenance time.
Who should attend this session?
- 4D developers who are wanting to get the most out of ORDA in their applications.
Benefits
At the end of this session, you'll be able to :
- Understand the way ORDA works
- Select the most appropriate tools and techniques to reach your goal
- Optimize your code to save time and memory use
- Spend less time debugging and maintaining your code
- Make educated guesses on data distribution between DataClasses.
What's covered in this session?
Objects in 4D
- Similarities and differences with JavaScript objects
- References vs Pointers
- Understanding references
- Internal structure of objects
- Properties hash table
- How ref counting works
- Dot notation vs Bracket notation: how to choose
- Correct use of objects
- Use objects with Form to minimize Subforms coding
- Comparisons between objects and other types of structured information storage
- Objects, forms, and subforms: Sharing information & communication
- User-defined classes
- Optimizing programing with classes
Programming
- Fully understanding the code
- Traps to avoid
- This & objects
Collections
- Optimizing their use
- Using references in a clever way
- Comparisons between collections and arrays: Speed and Memory use
- Optimization of queries in collections
- Callback functions best practices
DatasStores, DataClasses & Entities
- Connections between entities and records
- Physical location of the different types of data
- Understanding stamps
- Understanding LockCounts
- Comparison between collections et entity selections: what to use and when
- Collections and entities: What does 4D load in memory and when
- Explanations about lazy loading
- Collections of entities: Memory use, managing locks, etc.
Relational Attributes
- Explanations about the data model
- How ORDA handles relations
- Converting from classic 4D to ORDA, step by step
- Getting the best from optimizations made by 4D.
- Integration within contexts
- Types of programming to avoid
Server Optimization
- Programing for ORDA
- How do contexts work
- Analysis of data transfers (analyzing tool supplied)
- Transfer Optimization
- Finding the best balance between block sizes & block counts depending on the network
- Optimization of server cache management
- Contents of server & client Caches
Classes
- Different types of classes in 4D
- OOP inheritance detailed mechanism
- Smooth conversion from classic 4D methods to ORDA classes
- Detailed analysis of how classes work
- Comparison between class functions, formulas, and callback functions
Extending DataClasses
- Using DataClasses functions to optimize client-server and external DataStores
- Preparing light client aware programming
Sharing
- Understanding locks
- Optimistic vs Pessimistic locking
- Choosing which mode to use
- Complete review of optimistic programming
- Why locked becomes useless
- Multi-user & multi-process and the concept of sessions
Multi-Source Programming
- How to write generic code to prepare for the use of external data sources as application components
- Importance of sessions.
- Data transfer optimization on slow networks
- Slow networks techniques
- Traps to avoid
Session materials
- Example application source codes for each part of the training
- PDF Files fully explaining the important points of the example applications
- The Keynote or Powerpoint presentations used during the training
- Video recording of the four sessions
Course of the training
The training takes place over four days with a 2-hour session per day (Monday - Thursday) including a 30-minute Q&A.
Participants will receive documents and support materials at the end of the training.
Pricing in local currencies
499 USD - 449 GBP - 499 EURO - 4 990 SEK - 815 AUD - 61 400 JPY - 775 CAD (tax excluded)
599 CHF (tax included)
After registering, you will be invoiced for the training in accordance with the appropriate sales conditions.
OnDemand
The training is available OnDemand on the 4D Store, so you can watch it on your schedule, instantly!
Session time
(GMT+1) • 09:00 am - 11:00 am (Munich, Paris, Brussels, Madrid, Roma)
(GMT) • 08:00 am - 10:00 am (London, Lisbon)
AEDT (GMT+11) • 07:00 pm - 09:00 pm (Melbourne)
JST (GMT+9) • 05:00 pm - 07:00 pm (Tokyo)