Developer Release 1 · Documentation

ConcordUI Components

The building blocks of a shared Swift application with native user interfaces.

This overview follows the component introduction in Steve Sheets’ ConcordUI release presentation.

Full tutorials available shortly

This page introduces each major component and its purpose. Full, step-by-step tutorials with code examples will be available shortly after the release.

Application — coordinate your app

The Application defines your app’s startup behavior and coordinates navigation and shared application logic.

  • Subclass ConcordApplication to define your app.
  • Create its initial presentations in startApplication().
  • Coordinate where content appears and how the application responds.
  • Access device services through platform.

Upcoming tutorial: Create an application, show its first presentation, and organize shared behavior.

Elements — describe content, controls, and layout

Elements are the building blocks of the user interface. Shared Swift code describes their content and behavior; each platform supplies its native appearance.

  • Layout: stacks, spacers, and dividers.
  • Content: labels, images, and formatted text.
  • Input: buttons, text, Boolean, numeric, and selection controls.
  • Other components: date and time controls, progress displays, expanders, and raster displays.

Flavors select different control styles. Bindings connect controls to application data, while change callbacks and actions connect user interaction to your Swift code.

Upcoming tutorials: Build layouts, choose element flavors, and connect controls to data and actions.

Presentation — organize an element tree into a view

A Presentation contains the tree of elements describing a view. It brings layout, content, and user interaction together in a reusable unit.

  • Organize elements into a complete view.
  • Handle actions passed up from elements.
  • Use a presentation directly or subclass it for specialized behavior.

Upcoming tutorial: Compose a presentation and handle its interactions.

Venues — host and display presentations

Venues provide the place where a presentation appears. The same shared content can be hosted in a platform-appropriate window, screen, or dialog.

  • Main venue: the primary application window or home screen.
  • Secondary venues: additional windows or screens.
  • Modal venues: dialogs or sheets attached to another venue.

Upcoming tutorial: Display content in main, secondary, and modal venues.

Features — reuse common application experiences

Features provide ready-made experiences that many applications need. Configure shared content and let ConcordUI present it appropriately on each platform.

  • About, Help, FAQ, and Settings.
  • Welcome, Get Started, and What’s New.

The feature approach is modeled after common iWork application experiences.

Upcoming tutorial: Configure standard features and present them from your app.

Platform — access device services

Platform gives shared Swift code access to services provided by the device and operating system. Each supported platform supplies its own implementation.

  • Application and device information.
  • Storage and embedded resources.
  • Audio and speech.
  • Other native services supported by the platform implementation.

Upcoming tutorial: Use platform information, resources, and device services from shared code.

How the components fit together

Your Application creates a Presentation containing Elements and displays it in a Venue. Features supply reusable application experiences, and Platform supplies device services. User interactions call your shared Swift application code.

Additional support

ConcordUI also includes vector graphics and an HTML-like text engine. These will be covered in future guides.

For more detail while the tutorials are being prepared, see the feature overview and framework source.