Onboarding developers new to 4D? Here’s how we do it at Sweetwater
Blog post by guest author Joel Levy, a 4D developer at Sweetwater:
4D is the heartbeat of Sweetwater Sound. Our application harmoniously interconnects the diverse needs of over 700 concurrent users. We’re always seeking out more developers to fulfill the needs of a constantly growing company. Here’s a look into the strategies that Sweetwater uses to onboard developers new to the 4D platform.
SVG “non-scaling-stroke” attribute support
Sometimes it’s preferable to have the lines of an object keep their original width, regardless of the applied transformation. For example, you draw a line on a map showing a user’s position and a destination. When the user zooms in on the map, you want to enlarge the map but have the line maintain its width.
On resize… On resize… On resize…
Wondering how to create a nice and dynamic user interface? Typically when a form is resized, the form objects whose horizontal sizing or vertical sizing properties are set to move or grow, are automatically resized. In some cases (e.g., finer user interface management), developers choose to manage form object size and position by programming. To do so, they check the “on resized” event which is triggered within the form method. But what happens when the form contains one or more subforms? On many levels? This blog post gives you the answers!
Using 4D libraries within project databases
4D provides libraries to help you develop applications. One of these libraries is standard and contains preconfigured form objects and widgets, while other libraries are custom. The standard library is “read-only” and its behavior doesn’t change when developing project databases (with the exception of minor, cosmetic interface differences). You also have the ability to create your own custom libraries to save your own form objects or group of objects. In this case, a few changes have been made to make them even more powerful. The following is everything you need to know about these changes:
New 4D View Pro form events
As of 4D v18, a new set of 4D View Pro form events are available. They return special information that can be accessed with the new FORM Event command, introduced in this blog post. Say hello to: “On Column Resize”, “On Row Resize”, “On Clicked”, “On Double Clicked”, “On Header Click”, “On Selection Change”, and “On After Edit”.
Expanding the abilities of the Form event command
As you may already know, the Form event command identifies the type of form event that has just occurred. It’s typically used within a form or object method.
Some changes have been made in 4D v18, but it’s all good. Here’s what you need to know:
Project databases: beautify your forms with style sheets
Classic 4D binary structures let you define style sheets to specify the font, font size, and text style to use in your forms for both the macOS and Windows platforms. Project databases let you go even further by letting you define the properties of a 4-state button or specify the color and border of all line objects or even set the header height of all of an application’s list boxes! Inspired by the grammar and syntax of CSS, 4D adapted it to meet the specific needs of the forms in 4D project databases. Thanks to style sheets, you can configure all of the properties to create truly visually appealing forms. This blog post shows you how!
Multiple 4D data sources, interested?
We’ve got an exciting new feature to announce in 4D v18 and the title may have already given you a hint!
This feature opens new possibilities for client/server work. Rather than being limited to the current database and requiring a permanent network connection, an application in 4D v18 can get data from another, remote 4D database that’s exposed on a 4D server!
A lot of options become available thanks to this feature. For example, you could organize your applications to work offline and only synchronize local data when remote data is reachable. Or you could consider publishing your data on multiple servers and switching from one to the other as necessary. Another option could be splitting your data model across different databases (e.g. local data, international data). What about having your data distributed in different places yet still accessible through a single 4D client code (project methods and form objects)? All of these scenarios are now possible and this blog post tells you how!
Project databases: From binary to text-based
4D v17 R5 marked the start of beta testing for a new type of 4D database: project databases. In 4D v18, we’re thrilled to announce that project databases are now in final release. It’s time to take advantage of the power of the 4D development platform combined with the versatility of a lightweight and distributed format!
4D v18 beta starts today
Beta testing for 4D v18, our most spectacular release yet, is starting today! And we couldn’t be more thrilled to share all the novelties we’ve prepared for you. More than +90 advances, including major enhancements to existing features, as well as new ones that were designed to ease your development journey and take your applications to new heights. And in case you want to have an overall idea on this release full potential, we’ve put together this extensive library of examples (HDIs).
Buckle up and let’s discover some of what 4D v18 Beta has to offer:
- Project database – Version control: a solution for collaborative programming. Enabling you to store your code in a source control system (e.g., Github, Perforce, etc.) in plain text files.
- Built-in encryption: protection at its finest with built-in data encryption on a per-table basis.
- 4D for iOS: a product fully integrated into 4D to extend your business applications to mobile with ease.
- ORDA: enhanced commands, enhanced performance … and then there is remote datastore.
- 4D language: extra 4D commands to enlarge your programming capabilities.
- 4D Write Pro: Style Sheets. Tables. Toolbar. Word Export. And much more.
- 4D View Pro: Ribbon Toolbar. Excel import/export. And the list goes on.
- And much more (see below).
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy