What's new
Discover the latest features and enhancements for each version of Nowa. For more details, check the changelogs
1.7.5 (17 August 2024)β
Introducing our new JSON to Model Generator, various bug fixes, and fresh learning resources! Letβs dive into the details.
New β¨β
- JSON to Model Generator: Effortlessly create all the necessary models for your app from a single JSON input. With just one click, Nowa automatically generates the main models and any submodels for nested structures. Simply navigate to the files panel, click
+
next tolib
, selectNew model from JSON
, paste your JSON, and Nowa will handle the rest. Name your root model, specify a path, and youβre good to go! Read more about it here
New Learning Resources πβ
- Build the UI of a workout tracker App
- Firestore full integration tutorial
- A full playlist for building a ToDo app with Firebase Email Auth and Firestore
1.7.4 (5 August 2024)β
Including a new JSON Editor, an updated API system leveraging Dio, and more. Let's dive into the details!
New β¨β
-
JSON Editor: Experience a more intuitive way to view JSON responses within the API or Firebase editor. Easily examine response details, beautify them, and copy them with just a click.
-
Mutable Objects: Introducing the
Is Final
switch for object parameters. Turning this off allows you to modify parameters later, enabling state storage within objects.
Enhancements πβ
-
Switching API to Use Dio: We've upgraded the generated API code to utilize the Dio package, offering a more robust and performant approach to handling HTTP requests in your app. Enjoy cleaner, more understandable code without internal packaging complexities.
-
Copy and Paste Nodes in Circuit: You can now copy and paste nodes or groups of nodes within the same graph or even transfer them to different graphs.
New Learning Resources πβ
1.7.3 (25 July 2024)β
We have released several essential improvements to enhance your App building experience with Nowa! Let's see how:
New β¨β
A complete new ListView and GridView widgets: These widgets make displaying data easier and more efficient than ever. They come with two modes: Builder
and Normal
. The Builder
mode renders only what is needed at each moment, improving performance when displaying large amounts of data. Read more here about Using Listview and Gridview
- Use the
Builder
mode for efficient rendering of large datasets
For displaying data from an API, Firebase, Supabase, or a variable, use ListView
and GridView
instead of the older way of using Group.
Read this article to learn when to use Group
and when to use ListView
or GridView
New Linear Progress Indicator: Along with the circular progress indicator, you can now display a linear progress indicator. Read more here
- Set the progress value to indicate task completion
- Customize the color and background to match your app's theme
Text Overflow Options: You can now set behaviors for the Text widget when there's not enough space to show all the text. Options include clip
, ellipsis
, and more. Read more here
- Choose
clip
to cut off the extra text - Use
ellipsis
to show dots where the text overflows
Enhancements πβ
Nowa Error system got more POWER now: The error system can detect more errors faster and provide detailed information in the Error panel. This ensures a smoother development experience by quickly informing you of issues that need attention.
- Instant error updates for quicker debugging
- Detailed error descriptions for better understanding and resolution
What's Coming Next πβ
We are working on a much better API system to allow powerful integrations!
New Learning resources πβ
- Adding Splash screen
- Design course: Build a Football App
- Design course: Build a E-commerce App
- Design course: Build a Hotel Booking App
1.7.0 (28 June 2024)β
We released a new way to deal with files. It's now easier than ever to navigate between the different parts of your project in one place!
New β¨β
A complete new Files panel: Everything now is organised in files, from the screens and components, to API calls and Firebase queries, to objects and even boards. Read more here
- Access the new files panel by clicking on "Files" tab next to the Outline on the left
- Drag and drop files to the board to edit their UI
- Click on any files to open it's editor. API files will opened in theit API editor, Screen/components file will be opened inside Circuit, etc.
- Click on
+
next tolib
to create newcomponent
,object
,global state
, etc - Click on
+
next toboards
to create a new board (or from the tabs) - Ctrl/CMD + O to open files panel to search and open files and boards quickly!
Enhancements πβ
Nowa Error system got more POWER now: The error system in able to detect more erros for now. For example, the error system will notify you if you are using a variable that was deleted in a widget
Learning resources πβ
- Build a Stunning AI Chef chat assistant π§βπ³ using ChatGPT Youtube video
- New Wrapper docs for
1.6.1 (31 May 2024)β
You can now build fully customized AudioPlayer inside your app! We also introducing pre-built components, checking current platform with other improvements and bug fixing!
New β¨β
-
Build a fully customized AudioPlayer: Itβs time for you to build a fully customized Audio player for your app! Thereβs multiple ways to so:
-
Use a full Screen template: you will find AudioPlayerPage screen that has a full Audio player screen already built-in.
-
Use the pre-built Audio player component: we have introduced a new tab inside the Screen panel called Components. Inside, you will have already-built components such as a newAudioPlayer component.
-
Build it fully from scratch: with using widgets as the Slider and creating a variable of type AudioPlayerComponent, you can build all the details from scratch. We will release later a tutorial on how to do that but you can already figure it out by looking into the already-built version
-
-
New Pre-built components: Inside Screens panel, you will find a new tab called Components that has new pre-built components to import to your project. For now, we introduced AudioPlayer and Google sign in button components. When you click on one of them, Nowa will add that component to your project (it will create a new file in your project for that component. You will be able to reuse it later by heading to Components tab in the widget picker, which usually has your existing project components).
-
Checking current platform in Logic: If you want to build a condition according to what platform is your app running on, you can do that by using CheckPlatform node in Circuit under Globals section. It will return a boolean value wether the app running on the platform you asked for or not.
-
Control the visibility of widgets: Wrap any widget under Visibility wrapper to control wether to make it visible or not (you can also attach a logic to the visible property to calculate wether to keep that widget visible or not).
1.6 (20 May 2024)β
A big upgrade on Firestore is here! you can now use Firestore full power in building advanced queries and using Streams next to Futures! Also with this release, you can use SharedPrefrence to save data locally.
New β¨β
-
A big upgrade on Firestore integration: we just made it super powerful! You can create collections and subcollections, build advanced queries, test queries quickly before implementing it, and even live updating with Streams! (Full tutorial will be released soon)
-
Store data locally with Shared Preferences: you can now store and fetch variables saved locally in the device. You will find (set, get and clear) nodes in
Circuit
underShared Preferences
section. -
Different types of Navigation methods: We upgraded the navigation system to support multiple methods such as
push
,pushReplacement
,pop
andpushandremoveuntil
. This is useful in cases such as Login screens or Splash screen when you don't want users to be able to go back to those screens after passing them. To use it, you will find a new node calledNavigator
in Circuit. -
Image picker: You can now use
Image picker
object in Circuit to enable users to pick images from their gallery or camera. -
Import API from Postman: if you using Postman already, you can import all requests from Postman to Nowa in a single click!
1.5.8 (2 May 2024)β
Now you can offer reset password π§, edit variables easy βοΈ, with major bug fixing for deploying to IOS π²
New β¨β
- You can now offer "Reset password" in your app: When using Firebase Authentication and use
email and password
as a sign up option, you will be able now to send the user a reset password email automatically. You will find the nodeSendPasswordResetEmail
underFirebase
category in the menu after enabling Firebase Auth.
- You can edit any variables linked to a widget property directly: By clicking on the variable itself in the details panel, then on
Edit
to change the name, default value, etc. No need to switch to the variables tab anymore.
1.5.5 (10 April 2024)β
You can add initState
and dispose
functions and restore last opened tabs ;)
New β¨β
-
Ability to override
initState
anddispose
: In Circuit, click on+
button on the left side next toFunctions
, then chooseinitState
ordispose
to override them. For more, click here -
Last opened tabs are restored: no more of opening your boards and tabs again! your last opened tabs will be restored when you reopen your project
1.5.4β
Now you can offer videos in your app! Also, check out how to customize buttons UI the way you like ;)
New β¨β
- You can now play offline and online videos in your app with new
Video Player
widget.
New documentation and tutorials πβ
1.5.1β
New β¨β
- Adding status bar in the bottom
New documentation and tutorials πβ
- How to make your screen design responsive (mini tutorial)
- New documentation for the following widgets:
- Updating the Component page
1.5β
New β¨β
-
Firebase Firestore: You can now connect your app to Firestore, create collections, perform queries, and more! (tutorial is coming soon π)
-
Error system: Errors are now shown in the bottom tab. If you click on one of them, it will take you to the error location so you can fix it. No more of finding errors while deploying!
-
New UI: We are changing the UI to a complete new one that will make building apps way easier and more exciting! we just released the first part of the new UI, with the rest coming on the way!
1.4.2β
New β¨β
- Show unsaved files in the unsaved changes popup
- Adding shrinkwrap option to HTML to make it's height dyanmic
- Adding param option to Data builder API to pass dynamic values to to API GET requests
- Add the option to create a parameter for properties using the details menue
- New UI for the active plan and for comparison between plans
- Add advanced options to gesture detector and inkwell
1.4.0β
New β¨β
- Adding the option to creare Global state
![](/assets/images/globalstate-44b6233fd772b3d3e89dbf7b6779e2f1.png)
- Adding default text style wrapper and text directionality wrapper to give a style for all texts blow it
- Adding Apk debug: to build an APK test version fast without signing key