v-play-2-18-2-mvc-mvvm-flux-guide-qt-creator-4-7

Release 2.18.2: Guide for MVC, MVVM, Flux with QML

By Alex November 7, 2018

V-Play 2.18.2 adds the latest Qt Creator 4.7, as well as many improvements and fixes. A new comprehensive guide helps you to structure your code, and separate logic from UI. The guide comes with a list of best practice examples, which you can also check out in our open source example apps.

Separation of Model, View and Logic (MVC, MVVM, Flux) Tutorial for QML

Separation of concerns is a key factor to improve your project, to get a clean and maintainable code structure. Many concepts offer different approaches on this topic, popular examples are MVC, MVVM and Flux.

This V-Play update adds a new comprehensive developer guide: Separation of Model, View and Logic Code in your App. The guide offers a best-practice solution how to separate model, view and logic components in your V-Play apps:

mvc-model-view-logic-separation

Important topics covered in this guide are:

  • Why care about separation of concerns?
  • Create a Clean Data Flow
  • Application Logic
  • DataModel and Storage
  • Pages and View Logic

 

You can now also start from a new project template, that already includes the skeleton code for such a separation. For any data-driven application, especially if you connect e.g. REST APIs, this will be a great starting point:

mvc-model-view-application-wizard

Improved Toolchain with Qt Creator 4.7

This version of Qt Creator adds many improvements and new features. V-Play 2.18.2 ships this new version of Qt Creator by default, if you update or install V-Play.

Here are some of the changes with Qt Creator 4.7:

  • Improved performance and stability
  • Clang code model enabled by default
    • Support for C++17, likely new warnings (“fixits”) will show up in code editor now
    • Hover an ‘auto’ variable and the real type will show up
  • New analyze & refactoring tools: Clang-Tidy and Clazy
  • Filesystem navigation: Quickly browse folders with new clickable breadcrumbs
  • Model Editor enabled by default, create a visual code/class structure with it
  • New files are now added to the correct project and show up in the project view
  • ‘Run Test Under Cursor’ is now available when the cursor is inside a text method
  • Qt Kit settings category is now the most top option
  • (HiDPI) Scaling for Qt Creator can now be toggled in settings

Important Note for Release Builds

The new Qt Creator enables the Qt Quick Compiler by default if you create a release build and enable the resource system to protect your source code. The Qt Quick Compiler requires each file to be referenced in a resource file. If you have a look at your V-Play project, you will find a resources.qrc file. By default, it only references the qml folder, which is enough to use the resource system to protect your source code files. If you also want to use the Qt Quick Compiler, which is enabled by default with the new Qt Creator, you need to reference every single file of your qml folder.

You can also disable the Qt Quick Compiler in the project settings in Qt Creator or add this line to your *.pro file: CONFIG -= qtquickcompiler

You can find more information on this topic in our documentation.

More Features, Improvements and Fixes

Here is a compressed list of further improvements with this update:

For a list of additional fixes, please check out the changelog.

 

 

 

More Posts Like This

 

qt-machinelearning-tensorflow-Teaser
Machine Learning: Add Image Classification for iOS and Android with Qt and TensorFlow

Qt AR: Why and How to Add Augmented Reality to Your Mobile App
Qt AR: Why and How to Add Augmented Reality to Your Mobile App

release-2-18-1-material-design-cards-rest-promises-sort-and-filter-listmodels
Release 2.18.1: Use JavaScript Promises with Qt, Material Cards and an Improved API to Connect to REST Services

v-play-release-2-18-0-qt-5-11-1
Release 2.18.0: Update to Qt 5.11.1 with QML Compiler and Massive Performance Improvements

feature
How to Make Cross-Platform Mobile Apps with Qt – V-Play Apps

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support