Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranรฎ)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
We're nearing the end of this module and you can skip this video here
if React Native and Ionic doesn't tell you anything.
These are simply alternatives to using Flutter, at least in a certain way. Flutter is not the only tool,
the only approach that allows you to build iOS and Android apps with one programming language and with
one project codebase.
There are other solutions too,
also besides React Native and Ionic, there for example is also Native Script and so on but React Native
and Ionic are probably the biggest competitors to Flutter
and I just want to show some examples on where Flutter differs from them.
So why would you use Flutter and not React Native or Ionic?
Now let's see how each of these approaches works. Flutter uses Dart and the Flutter framework and
Dart is a programming language developed by Google. React Native on other hand uses Javascript and the
React library and Ionic uses just Javascript and any or no framework at all that you want
and by the way, I also do have courses on React Native and Ionic in case you want to have a look at that.
Now the result of Flutter is that you get compiled native apps, so you get real native apps compiled for
the target platforms. For React Native, that's pretty much the same but I wrote partly compiled here because
the apps are compiled to native apps but there also are parts in your code, in your Javascript code
which is actually not compiled but which is basically enclosed in the native app and runs as Javascript
in the native app, instead of as compiled code and that's different for Flutter, there
all the code is compiled and runs as native machine code
therefore and for Ionic, nothing is compiled.
There you actually have a web app which is wrapped inside of a native app, so you still get a native
app which you can publish to the app stores but it's just a wrapper around your web app.
Now the advantage of this Ionic approach is that you can use normal web technologies and if you're a
web developer, it's particularly easy to create such apps and you can use all your normal web development
skills to build cross-platform apps there. A downside of this wrapped approach of course could be performance.
Now for Flutter, it's also important to understand that we don't compile to iOS or Android UI components
but that Flutter gives you an app that controls the entire screen and every pixel on it. For React
Native, that's different,
there you do compile to iOS and Android UI components, so the parts of the React Native app that are compiled
is in the end the user interface and there
for example if you render a button, it is compiled to the native iOS button for iOS and to the native
Android button for Android, which means you have less customization possibilities because for example
if you can't add a drop shadow to the native iOS button, you can't add it to the React Native button because
that's compiled to the iOS button. For Flutter, since it controls every pixel on its own,
you can style it in whichever way you want or Flutter lets you at least because the native button restrictions
don't matter to Flutter.
Now for Ionic, there is no compilation to Native equivalence, instead you have a web app, so you can style
a button as you could style it in any web app,
it's not compiled to a native button. Now with Flutter, you can build cross-platform apps, mobile apps and
actually even web apps and desktop apps, though as long as that's in very early stages, it will not be
part of the course,
I do cover it once it is more stable though. For React Native, it's pretty much only about mobile apps,
though there is a project, an unofficial project if you will, which allows you to use your React Native
app
also to get a web app as a result. For Ionic, you by default since you build a web app that's wrapped
by a native app, you by default have a web app as well, right?
You also have full cross-platform support,
you can get a mobile app with this wrapped approach,
you have a web app anyways and you can also build a desktop app by wrapping it around this web app
so to say, with a tool named Electron. Now who's working on these projects? Flutter is developed by Google,
React Native is developed by Facebook and Ionic is developed by a company which is called Ionic and therefore,
they all have big companies backing them, especially React Native and Flutter of course but also the
Ionic company is earning its money with the Ionic framework and therefore regarding the future, all three
should be very stable and under active development for a long time,
so that shouldn't influence your choice. What should influence your choice then?
Well for Flutter, there you have the great advantage that you have real native apps, so you get great
performance,
no web view wrapped app which automatically has a bit worse performance because of that wrapping,
instead you have meshing code which is running and that gives you a great performance and because Flutter
controls every pixel on the screen, you also have a high flexibility, you have a lot of control over your
app.
Now some people also might not like this approach of not having the platform primitives but instead
have Flutter control everything because you could argue that it's therefore harder to get the default
Android and iOS look and that it requires a bit more work from your side to get the look
but that's up to you to decide,
I think the higher customization possibilities actually aren't too bad and are a nice advantage but
in the end, that's of course up to your personal preference.
React Native and Ionic are certainly nice alternatives and that's why I do have courses in all of them
and attached to this lecture,
you actually find a link to an article and a video which I created where I compare these alternatives
and dig a bit deeper into the details of these approaches and give you a more detailed comparison. As
a first summary here,
Flutter is a great choice of course because you have real compiled apps and with every pixel controlled
by Flutter, you have a lot of flexibility and high performance.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.