Marks Dart and Flutter Blog RSS
Method Cascades in Dart
Introduction Method cascades can help with the brevity of your code. Lets Run Some Code class Logger { void log(dynamic v){ print(DateTime.now().toString() + ' ' + v); } } main(){ // Without method cascades new Logger().log('program started'); new Logger().log('doing something'); new Logger().log('program finished'); // With method cascades new Logger() ..log('program started') ..log('going something') ..log('program finished'); } What Happens When You Run the Code 2018-12-30 09:28:39.686 program started 2018-12-30 09:28:39.686 doing something 2018-12-30 09:28:39.686 program finished 2018-12-30 09:28:39.686 program started 2018-12-30 09:28:39.686 going something 2018-12-30 09:28:39.686 program finished
Asynchronous Processing in Dart and Flutter - Part Three - Async and Await
Async When an async method is called, a Future is immediately returned, and the body of the method is executed later. Later on, as the body of the async function is executed, the Future returned by the function call will be completed along with its result. At the end of the async method, the value (from the completed Future) can be returned. Await Await expressions are used in async methods. They enable you to invoke asynchronous code (that returns a Future). Once the asynchronous code is invoked, the currently running function is suspended until the Future has completed or there is...
Asynchronous Processing in Dart and Flutter - Part Two - Futures and Error Handling
What is a Future? Futures are used to store the results of asynchronous processes. As mentioned in Part One, asynchronous operations can result in Success (often with data) and Failure (often with error data). A Future will store the data from the Success. Lets Run Some Code Go to your web-browser and navigate here: https://dartpad.dartlang.org. Paste the following code into the code area on the left-side: import 'dart:async'; String createLongString(int count){ print('start count up'); StringBuffer sb = new StringBuffer(); for (int i = 0; i < count; i++) { sb.write(" ${i}"); } print('finish count up'); return sb.toString(); } Future createFutureCounter(int...
Asynchronous Processing in Dart and Flutter - Part One - Overview
What is Asynchronicity? It is the ability to do multiple things at the same time. UI Thread A thread is a thread of execution in a program. It is some programming that does something. When you have a user interface, it has a single thread that accepts user input from the user (in the form of events) and updates the user interface (rendering). This is known as the UI thread. Synchronous Operations A synchronous operation blocks a process till the operation completes. If you add a synchronous operation to a UI thread then it stops the UI from repainting, responding...
Exceptions and Error Handling in Dart and Flutter
Why Have Error & Exception Handling? Most software systems are complicated and written by a team of people. Complexity arises from multiple sources: The business domain. The act of writing software. From multiple people working together, each one having different viewpoints. etc The complexity can result in misunderstandings, errors & exceptions. This is not the end of the world if the code has good error handling. If you don't handle your errors & exceptions, your software may act unpredictably, and users may suffer a catastrophic error without knowing it or being able to detect when it happened....