For my Capstone project log(I skipped #2) I am going to introduce Dart and Flutter which is I am developing with.
Dart
Dart is a language created by Google in 2011. Initially, it started with an ambitious plan to replace JavaScript. It was first announced at the GOTO Conference, and the initial 1.0 version was released in 2013, but it did not receive much response. So why am I making my Capstone project app with darts? This is all because of Flutter.
Flutter and Dart
The 1.0 version of Flutter was released in 2018, and it was an ambitious project to create an app that works regardless of device and operating system, such as Android, IOS, Web, and Desktop, with a single code base. Establishing itself as a simple framework is also a difficult goal to achieve, and the ambition to establish itself as a cross-platform framework could have been seen as a reckless challenge.
Google had to decide on a programming language to develop Flutter, and there was also a way to choose Java or JavaScript that many people were familiar with. There was also a way to develop it with Objective C or Swift for iOS support, and a way to choose C# like Microsoft or to write Golang, another language created by Google.
However, Google’s choice was Dart, and as a result, it began to look like the current platters and darts we know. Many developers have articles explaining why Google chose Dart, but those reasons are not able to be a reason why we MUST know Dart.
Fuchsia and Dart
If you look for materials related to Dart, there is another word that is mentioned together. “Fuchsia” is a next-generation OS that Google is developing. It was first released to the world in 2016 and is still developing hard. It is a project with the tremendous ambition to replace operating systems such as Android, iOS, Windows, and Mac like Flutter, so it is worth watching how it will grow. However, since the opponent is Google, it is not strange to turn over or disappear at any time. (If a platter dreams of developing an app that works on all operating systems, Fuchsia dreams of an operating system that works on all devices.)
This support of Fuchsia for Dart means the possibility that Dart’s position as a programming language could be further expanded. Of course, no one knows what will happen. In the short term, they seem to have a goal of replacing android through Fuchsia, but if the replacement begins, the ransom of Dart developers may rise further. I say it again. The opponent is Google, and no one knows what will happen.
Characteristics of Dart
Then, what are the characteristics of Dart’s programming language? Basically, darts are very similar to C or Java. That’s why if you’re a developer, it’s really a language you don’t need to learn. If you read it, you can’t help but know what’s what. For existing developers, the low barrier to language entry is a big advantage.
Darts have the following characteristics in the programming language.
- It is an object-oriented language.
- It follows C grammar, so most developers can learn easily.
- It is optimized for Flutter development.
- Supports Null Safety.
Although there are other technical characteristics, it is enough to think that it is a language that can be easily learned, has a useful use called Flutter, and provides a function to prevent mistakes that may occur during development.
Flutter
The biggest reason to study Dart is Flutter. In fact, you don’t have to learn Dart separately. If development is carried out using Flutter, there is a ‘water supply’ that will be naturally mastered in the process.
Flutter, as I explained a little earlier, is cross-platform with great ambition. Currently, I am faithful to the function of the UI framework, but I think it will gradually develop. The biggest advantage of Flutter, which many developers and startups think, is that it can solve Android and IOS development at once. It may not be known if it is a company that is developing an application with the existing native, but it is an attractive option that must be considered if it is a company that needs to develop a mobile application.
Strengths
It is possible to develop Android and IOS simultaneously. I can’t say too many times about this. Of course, it would be a lie to say that I fully apply. However, start-up companies that need to take changes in the app quickly and have difficulty hiring several people due to the high developer’s ransom are attractive enough to worry about even considering such problems.
The barriers to entry are low. How long will it take to learn Flutter and create an app? Of course, the time depends on which app it is, but it can be created much faster than Android, IOS, or even web development.
Supports Hot Reload. It is a function that allows you to receive feedback on the results that I developed in real time. It is a truly destructive function, but it is such a function that people who first started developing with Flutter wonder if it should be supported. It is not that other frameworks do not support it, but there is no more set-up and reliable functionality than Flutter’s Hot Reload.
Leave a Reply