How does the Flutter (Framework, SDK, Dart) architecture work?

Asked

Viewed 450 times

1

In Flutter studies I often get confused, when creating an UI, after all I am using Dart/Flutter (framework) or both?

Ex:

children: widget.products.map((Product product) {
          return ShoppingListItem(
            product: product,
            inCart: _shoppingCart.contains(product),
            onCartChanged: _handleCartChanged,
          );
        }).toList(),

How Does Flutter Architecture Work? Where Dart Starts and Ends UI (framework) or it’s all the same?

2 answers

4


Dart is a programming language then it is composed of, supposedly, a specification, one compiler, and a library basic standard, plus a Runtime which can be considered part of this library (plus), although technically it’s something else.

The Flutter is a framework (or SDK, whatever), from Google too, to make applications, is something completely separate. It is said that Flutter is a killer application of Dart because this language was created years ago and nobody gave attention to it, not least because it has no great improvement over what already existed and has defects, but it was in it that they wrote this framework that a lot of people liked, so it started to be used. Almost everything successful in the corporate world happens for political reasons and not for technical quality.

Obviously Flutter has a philosophy that fits well with Dart for obvious reasons. Much of what you will do in Flutter will use the infrastructure provided by the programming language, including the syntax and many basic library functions as used in this code. But the overall data structure of what you’re using and many functions are from Flutter. For this you have to study deeply the documentation of the two things and see what is of each, so the ideal is to learn the language alone and then the framework, But from what I’ve seen, it’s not going to happen to almost everyone, and I predict problems, it’s going to be one of those technologies that people will make work and they won’t understand what you’re doing (not by everyone, of course).

There must be the same thing happening with jQuery, and I think a good explanation is to see Javascript difference for jQuery. If you understand this difference, you understand the difference between Dart and Flutter. I think the confusion will be even greater because practically nobody will use Dart without using Flutter, for the reasons already mentioned. Just as there is no program in jQuery, there is no program in Flutter.

Well the Groso way we can compare Flutter with Windows Forms of C#. It was never part of C#, or even the base of . NET specified, was part of the product packaged by Microsoft and many people thought it was all one thing. I don’t even know if this actually happens, I know you can catch Dart alone, but since almost everyone just wants to know about Flutter catches him (the SDK) who already brings Dart along (as far as I know) to make your life easier.

I’ve seen a lot of things out there that confuse the two things, that’s not a good sign, it shows that the community and even official things are poorly defined and although it is a "modern" technology may have already started with a path of gambit and carelessness, what never ends well as we have seen in various technologies, but some have the excuse that were created more than 25 years ago.

May be occurring the same as with Java. Or Ruby on Rails that people think is where they code and not in Ruby, another language that people practically only use with one technology.

And be careful with the documentation because it tends to have examples of using the mechanisms of language applying something of Flutter, which can confuse. The examples of documentation are never cake recipes to copy and use in their codes, they are there to demonstrate the mechanism, they serve well for this, nothing else, and programming is applying the learned mechanism, not using something ready.

The biggest reason people use exceptions the wrong way is because the documentation gives wrong examples of use, because the goal there is not to show the right use is to show something else that happens to have an exception, so they treat it the wrong way because that’s not the focus, And people don’t understand that, and they copy everything wrong. The same occurs with poorly formulated responses in the OS and other sites, and almost all are poorly formulated, the person is not thinking of all scenarios, does not think about the time to answer that someone will read it and use only copying without looking at all aspects. It’s a mistake in people’s attitude. And it seems to be making people think that Dart and Flutter are the same thing.

  • I wouldn’t refer to Flutter as a 'framework', it’s more than that, a multi-platform application development SDK.

  • On the official page he says it’s less than a framework, which is just a Toolkit UI, in Wikipedia he calls it a framework, but what matters to people is that it is something at least close to a framework, the fact that it has other things and is an SDK is circumstantial and parallel, does not define it fundamentally, I have already given an answer on this in https://answall.com/a/17552/101.

  • In your own answer you linked above, if you knew the flutter would say it is an SDK. Flutter provides a set of tools for creating the applications, Debugger, inspector, Profiling (performance validations), stack tracing errors, among others. In fact some people still refer to themselves as framework, Toolkit or SDK, I prefer to always refer to myself as an SDK. Of course he takes advantage of Dart’s SDK, but still adds a new tool to it.

  • The breeders refer thus.

  • Not always. Official website: https://flutter.dev/docs/resources/technical-overview . To quote: 'Flutter is a mobile app SDK for building high-performance, high-Fidelity, apps for iOS and Android, from a single codebase.'

  • 3

    Official website: https://flutter.dev/ the fact that each place says something different only testifies against.

Show 1 more comment

1

Flutter, as already mentioned, is a Framework made from a language, which is Dart. Roughly speaking, Flutter is for Dart, just like:

  • Android is for Java.
  • React is for javascript.
  • Ruby on Rails is for Ruby.
  • Django is for Python.
  • Laravel is for PHP.

But briefly, everything that is Widget in your code, is about Flutter.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.