Flutter for the JS Developer

Поделиться
HTML-код
  • Опубликовано: 20 янв 2019
  • Flutter/Dart basics for the JavaScript web developer. Learn the similarities and differences between Dart and JS side-by-side. Compare Flutter Widgets to React Native components. fireship.io/lessons/flutter-f...
    - Flutter flutter.io
    - React Native facebook.github.io/react-native/
  • НаукаНаука

Комментарии • 344

  • @michaelwoodruff6634
    @michaelwoodruff6634 5 лет назад +225

    "Let's fade out the music and get into the code"
    I see what you did there.
    You listening to us.

    • @Fireship
      @Fireship  5 лет назад +52

      That's what I do! Incorporating feedback is very important to me.

  •  5 лет назад +279

    I wish all languages had a comparison 1:1 tutorial versus the languages it's based on.
    I always procrastinate before learning a new language because it's a pain in the ass go through the basics stuff.
    Your video in the other hand, go right into the topic!

    • @THEMRfatefighter
      @THEMRfatefighter 5 лет назад +15

      That's genuinly a great idea. I'll build a new channel and start with the basics: html vs C#

    • @themirac5614
      @themirac5614 4 года назад +3

      @@THEMRfatefighter have you done it yet?

    • @THEMRfatefighter
      @THEMRfatefighter 4 года назад +7

      @@themirac5614 dude, it was a joke. ^^ every language has it's application. Html is for web content, js for web scripting, python for apps (not efficient but quick to setup), c# for lengthy apps or games with classes and heritage, ect. The idea is great but it's like comparing wine and wiskey. Both are alcools but you just use them in different situations.

    • @aryanshmahato
      @aryanshmahato 4 года назад

      @@themirac5614 Man.. That was a joke😂😂

    • @psy667
      @psy667 4 года назад +3

      This can help you hyperpolyglot.org/

  • @MarcoAZeballosS
    @MarcoAZeballosS 3 года назад +22

    This is why I jump to your videos whenever I want to learn a new technology or language, your work is special man, thanks for your effort making things effortless to us.

  • @darshangowda309
    @darshangowda309 5 лет назад +217

    JS is my wife, but flutter is my mistress! Awesome😂😂😂

  • @corynorell3686
    @corynorell3686 5 лет назад +40

    I decided to build an app with Flutter a couple weeks ago, found your channel last week (which has been immense help) to brush up on my JavaScript for interviews, and then you release this. Quite astonishing timing I'd say.

    • @brhh
      @brhh 3 года назад

      atleast you found him

    • @bilalkureshi7437
      @bilalkureshi7437 2 года назад

      @@brhh yerp mates from other groups talking abt him so that's pretty much how I found him lol

  • @elephant_888
    @elephant_888 4 года назад +5

    Great video. Bridging learning with a side-by-side comparison with javascript was genius.

  • @sayanmallick2644
    @sayanmallick2644 5 лет назад +956

    Dart = java(only the good parts) + JavaScript (only the good parts)

    • @relentless5723
      @relentless5723 5 лет назад +83

      Dart is actually quite similiar to C# and I don't mean that because C# is similiar to Java. Anonymouse methods and types, promisses, properties, async/await and so on are part of C# for years.

    • @HermanWillems
      @HermanWillems 5 лет назад +11

      @@relentless5723 C# is not a scripting language. I always felt like Java and C# to be like in a realm that is not needed. Yes we need scripting languages for dynamic stuff, and yes we need system languages for fast static stuff. Both can be used together. Where C# and Java is more like trying to do those both but failing at each of them. Dart is nice for scripting, while rust is nice for system level.

    • @bernadotornado7068
      @bernadotornado7068 5 лет назад +4

      @@relentless5723 I have to agree on that. I learned programming from making games in Unity and was avoiding the JavaScript version of Unity because C# syntax was just more appealing for me. Ever since I started web-development i have always used TypeScript because it is basically C#script to C# as JavaScript is to Java. Dart is even more like C# which is why I only use Unity for making games and not for app design anymore.

    • @JK92007
      @JK92007 4 года назад

      Should I learn js or Dart..? Any one plz...I m new bees for programming..

    • @pankajmanali
      @pankajmanali 4 года назад +8

      @@JK92007 Depends if you are going for web development or mobile development. For web its definitely JS plus you can write mobile apps as well using react-native, ionic etc. Flutter on other hand is mostly suited for mobile applications and it gives better performance over mobile apps written in JS.

  • @this.is.lapc506
    @this.is.lapc506 5 лет назад +2

    I've been looking for a quick introduction like this for months! Thanks a lot dude!

  •  5 лет назад +21

    Flutter/Dart is a great career path to JavaScript programmer to go cross platform and fully native. Your side by side rapid fire comparison worked really well! 😍 👁💧👁. 👣

    • @Fireship
      @Fireship  5 лет назад +2

      Thank you! Excellent emoji usage 🍻

    • @lovesimpleton8177
      @lovesimpleton8177 5 лет назад +2

      is flutter/dart considered native?

    • @not2day646
      @not2day646 5 лет назад +1

      @@lovesimpleton8177 eh, its close enough. Not fully though

  • @code_report
    @code_report 5 лет назад +6

    This video was awesome! Love the side by side Typescript vs Dart! Would love to see more!

  • @CodingCatDev
    @CodingCatDev 5 лет назад +47

    Super helpful comparison! Every time I create a demo Flutter app I resist going any further because it reminds me of Java in college and I don't want to go back there 😺.

    • @Fireship
      @Fireship  5 лет назад +11

      I've never worked with Java, but it feels like a sibling to TS, or kinda like JS & C# had a baby.

    •  5 лет назад

      But Java is nice af!

    • @devilmanscott
      @devilmanscott 5 лет назад +16

      @ Nope. Kotlin, Scala and Clojure are nice, Java is a bloated mess, forced only to be OOP.

    • @chop098
      @chop098 3 года назад

      @@devilmanscott there isn't a suitable alternative for java for large-scale infrastructure

    • @ghevisartor6005
      @ghevisartor6005 2 года назад

      @@chop098 c#?

  • @firaskudsy
    @firaskudsy 5 лет назад +53

    Only with ur videos.. i give like before start watching.. lol .. fully trust the content

    • @firaskudsy
      @firaskudsy 5 лет назад

      Jeff .. can u do a separate tutorial for state vs stateless in flutter .. and how to structure the files .. components .. services .. 🙏

    • @Fireship
      @Fireship  5 лет назад +8

      @@firaskudsy Thank you! Yes, I have a long list of topics. State management is a full video that will come soon, but project organization would be good also.

    • @firaskudsy
      @firaskudsy 5 лет назад +1

      @@Fireship one more question.. why we cant see the old tutorial and videos on fireship.. i mean the one on angularfire ..and would my subscription valid on fireship too ?

    • @Fireship
      @Fireship  5 лет назад +2

      @@firaskudsy yes, the angular firebase membership will work on both :)

  • @MikeCatrone
    @MikeCatrone 4 года назад +7

    I've been dabbling with Js and React Native for the past year, but just recently I decided to learn some Flutter/Dart and it's been a much easier experience so far

  • @boradmay
    @boradmay 5 лет назад +75

    The animations in video are so well made.

    • @Fireship
      @Fireship  5 лет назад +18

      Thank you, I'm not an animator, just learned a few tricks after making so many videos.

    • @secondry2
      @secondry2 4 года назад

      @@Fireship mind sharing? it's so cool!

  • @JonathanCGroberg
    @JonathanCGroberg 5 лет назад +9

    Looks like a merger between a lot of good qualities from many languages. Its getting to the point where all languages are evolving toward the same end goal.

  • @carniattos
    @carniattos 5 лет назад +2

    Great video, I was waiting for it since your last video, I'm intrigued with flutter and this video gave me the bare minimum to kickstart a flutter app

  • @Benony91
    @Benony91 4 года назад +36

    Last element in an array (even strings) in JavaScript: *element.slice(-1)*

    • @keokawasaki7833
      @keokawasaki7833 4 года назад +9

      I dont think anything would beat element.last in smoothness

    • @Benony91
      @Benony91 4 года назад +2

      @@keokawasaki7833 Not sure what you mean.. there is no last function for String or Array.

    • @keokawasaki7833
      @keokawasaki7833 4 года назад +3

      @@Benony91 that's exactly the point. javascript doesn't not have Array.prototype.last or anything like that. So we will have to rely on ugly or (mildly ugly like yours) solutions...

    • @Benony91
      @Benony91 4 года назад +2

      @@keokawasaki7833 haha yep! 😂 It's strange that something so trivial is missing..

    • @ThePandaGuitar
      @ThePandaGuitar 4 года назад

      Typical JS programmer response. Look again how shitty that code statement looks. Nothing beats element.last

  • @JannisAdmek
    @JannisAdmek 5 лет назад

    I don't know js but am coming from C++/Java/Python, now working with flutter.. THANK YOU fine sir for that wonderful overview!

  • @shaiker
    @shaiker 4 года назад +8

    12:38 nice stackoverflow right there

  • @CarlosBruno82
    @CarlosBruno82 4 года назад +4

    Thank you. That was what I was looking for. It will help me a lot in my migration from JavaScript to Dart.
    Sorry for my English. I used google translator.

  • @_Amilio_
    @_Amilio_ 3 года назад +11

    Started with Flutter and now learning ReactJS and I can see a lot of similarities and where Flutter got it's inspiration from. React a lot easier to learn now.

  • @mustofa_id
    @mustofa_id 5 лет назад +6

    Dart like Modern Java mix with JavaScript.
    Thanks for awesome video!

  • @SprHero
    @SprHero 5 лет назад +3

    Looks really cool! Thanks for the comparison 👌

  • @florentarlandis1209
    @florentarlandis1209 4 года назад

    Await for loop?! This looks awesome!

  • @juangamarra1463
    @juangamarra1463 5 лет назад +1

    Genial. Excelente trabajo. Gracias.
    Esperamos mas noticias de Flutter.

  • @VeryBlueBot
    @VeryBlueBot 5 лет назад

    Thanks! Very helpful starting point, would defiantly dig int to Flutter more

  • @Kay8B
    @Kay8B 2 года назад +1

    Coming from C# as my mother language in coding. This look eerily similar. Gonna give this a go and finally build that app my wife keeps asking me for!

  • @MatthewChenIsAwesome
    @MatthewChenIsAwesome 5 лет назад +1

    Do you think it is quicker to write react.js and react native and reuse some code between them or write vue (im more comfortable with vue than react) on web and flutter on mobile? Having a really difficult time deciding rn :/

  • @alexschlake9701
    @alexschlake9701 5 лет назад +76

    Mmmmm the C like syntax reminds me of my wild college days.

    • @JannisAdmek
      @JannisAdmek 5 лет назад +13

      Alex Schlake wild malloc times? ;)

    • @luiaslan
      @luiaslan 4 года назад +1

      C is life.

    • @keokawasaki7833
      @keokawasaki7833 4 года назад +3

      I am going through them... still need to learn how yo use gdb

  • @avi12
    @avi12 5 лет назад +5

    When I started to learn Dart, I immediately understood why Google wanted so badly to standardize this language for the web
    Such a good language that seems to me like a combination of Java and JavaScript, in a very good way
    I personally favor JetBrains software over Visual Studio Code, so I also benefit from quick-fix, which saves so much time
    In short, I can't decide what I love more - Dart or JavaScript

    • @Fireship
      @Fireship  5 лет назад +8

      Dart might not be exciting, but it's a very productive language. Almost everything just autocompletes with inline docs.

  • @JimmyS2
    @JimmyS2 5 лет назад

    Excellent introduction, thank you

  • @OproDarius
    @OproDarius 4 года назад

    Man...This guy knows a lot!

  • @mattiaesposito5525
    @mattiaesposito5525 5 лет назад

    very nice tutorial thank you i think i'm gonna learn dart and flutter

  • @amirhosseinrafiee2926
    @amirhosseinrafiee2926 5 лет назад

    Flutter have alot in common with qt quick (qml)
    which you think is better !?

  • @sveinsoermo9883
    @sveinsoermo9883 5 лет назад

    TWO WORDS ...VERY IMPRESSED!

  • @DB-ho8cc
    @DB-ho8cc 5 лет назад

    What editor or ide are you using that gives you that info when you hover over something?

  • @dhanyakumar8965
    @dhanyakumar8965 Год назад

    Super thanks for sharing
    I hesitate to learn flutter dart program as a js developer but after watching you're video hesitation gone

  • @nabin9363
    @nabin9363 3 года назад +1

    Now every js developer must learn in2021 ,
    I love js ,
    But i like flutter too .
    😍😍😍😍

  • @manueldiera6781
    @manueldiera6781 5 лет назад

    Some of the best material on youtube. Hands down. I will be buying one of those Flutter shirts too btw.
    P.S, everyone reading this comment should go checkout his video on Flare animations and integrating them to your Flutter app.

  • @fredmaiaarantes
    @fredmaiaarantes 5 лет назад +2

    Your content is always great! Congrats and please keep doing this. 👏

  • @nishanthdipali6838
    @nishanthdipali6838 2 года назад

    Can we take functional approach in dart(flutter) as we can in react or flutter just restricts us???

  • @dmitryrudenko4998
    @dmitryrudenko4998 4 года назад +1

    Flutter is gem!

  • @sortof3337
    @sortof3337 4 года назад +3

    I know I am late, but I have been doing Java my whole life and flutter seems like something I've been asking for but too afraid to check out. :P

    • @brhh
      @brhh 3 года назад

      than don't wait, java is dying

  • @AbhishekKumar-mq1tt
    @AbhishekKumar-mq1tt 5 лет назад

    Thank u for this awesome video

  • @bedruomer8777
    @bedruomer8777 2 года назад

    array.at(-1) can also be used to get the last element in an array in JS

  • @tomvanlieshout524
    @tomvanlieshout524 5 лет назад +2

    Great video. Just wish you'd have used a de-esser plugin on your voice recording.

  • @SteveLombardi58
    @SteveLombardi58 4 года назад

    What theme do you use for these?

  • @johnmukendi7650
    @johnmukendi7650 Год назад

    I was given soft soft as a gift in 11, and up until recently, I was so overwheld by the complexity of it that I never got past just using

  • @itsdazing1279
    @itsdazing1279 3 года назад +1

    Question:
    Was that quizzes app build with flutter?

  • @AkshatKanchan
    @AkshatKanchan 5 лет назад

    Please more of this!

  • @sourishdutta9600
    @sourishdutta9600 5 лет назад +2

    Stream of knowledge!!! Offfff !!! Cool Man. Thanks

  • @martinalcala4823
    @martinalcala4823 4 года назад

    Does Dart have generators? If so, how different are those from JavaScript?

  • @mehmetkose1753
    @mehmetkose1753 5 лет назад

    top notch quality!

  • @emersontavera9362
    @emersontavera9362 Год назад

    It resembles more like Java to be honest, great video

  • @vivekshingala1431
    @vivekshingala1431 5 лет назад

    Which one should a beginner choose? React native or flutter?

  • @Vietnamcamping89
    @Vietnamcamping89 4 года назад

    pure javascript, react and angular-typescript, that's all for me :)

  • @shafi2344
    @shafi2344 5 лет назад +2

    Plz make Nativescript tutorials as well. It is the best for solution for an angular developer for truely native app.

    • @Outthebots
      @Outthebots 5 лет назад

      how about nativescript :)

  • @vianddirect5196
    @vianddirect5196 3 года назад

    very nice video introduction....keep it up #team

  • @FernandoLucaDeTenaSmith
    @FernandoLucaDeTenaSmith 5 лет назад

    You are awesome men!!

  • @bripowered
    @bripowered 5 лет назад

    Thank you!

  • @CodeMaster-w5g
    @CodeMaster-w5g Год назад +1

    Flutter is way better than js frameworks for multi platform applications , I wish I know this sooner

  • @Niccolatorres
    @Niccolatorres 5 лет назад

    Do you haver a similar vídeo about React Native?

  • @ameenu
    @ameenu 5 лет назад

    Thank you very much ,,,,,,,,,,,,,,,,, you make my day :)

  • @dami-i
    @dami-i Год назад

    In JS, you can get the last element of array with ".at(-1)".

  • @kamleshmerugu7621
    @kamleshmerugu7621 5 лет назад

    When we are going to see the fireship

  • @flutterfromzero3075
    @flutterfromzero3075 2 года назад

    Great video! 👍👍🔥

  • @alexpiano
    @alexpiano 2 года назад +1

    Always nice and instructive videos. If I may, music is a bit too loud in my opinion, tough to focus on what you're explaining.. until you stop the music of course.

  • @yolamontalvan9502
    @yolamontalvan9502 3 года назад +1

    Wow, this is what I call Learning at Warp Speed.

  • @roronoa_d_law1075
    @roronoa_d_law1075 4 года назад

    what's the difference between dynamic and var ?

  • @swaniketchowdhury
    @swaniketchowdhury 4 года назад

    What's the theme of your VS Code?

  • @Its_Pritam_
    @Its_Pritam_ 4 года назад +4

    Flutter with the android studio is much more convenient and powerful, so I avoid vscode. I am a native android developer and knew very little about javascript. So for me, it was easy to learn flutter than react, because dart is pretty similar to java.

  • @mitchross2852
    @mitchross2852 3 года назад

    Great video

  • @gouthambolt
    @gouthambolt 4 года назад +3

    I am new to JS and I find it not likeable. Can I choose to dive into flutter?

    • @jutsuuchiha3858
      @jutsuuchiha3858 4 года назад +1

      Dart doesn't have a large community

    • @willinton06
      @willinton06 4 года назад +2

      Depends, are you doing this for fun or to get a job? Cause if you want a job, JS is the safest choice, for fun? Flutter is the way

  • @bruh8731
    @bruh8731 3 года назад

    High quantity content 💯

  • @rodrake1
    @rodrake1 5 лет назад +21

    I’ve never seen a developer talk so fast... do you speed up your videos? 😁

    • @Fireship
      @Fireship  5 лет назад +21

      Did that whole video in one take :) JK, I cut out dead air from the audio track.

  • @WorstDeveloper
    @WorstDeveloper 4 года назад

    What happened to your flutter app @Fireship? It appears to not have been updated for a long time now.

  • @Todiros
    @Todiros 5 лет назад +3

    I have a pretty ambitious application that I'm trying to build. It would be targeted for mobile users but as a single web developer, I would build a web app first using React on the Front End (not yet sure on the Back End).
    I thought of using React Native for mobile apps but then I heard it won't be optimal performance wise and that debugging in production would be a nightmare so I'm thinking that maybe I should use Flutter. I do like Dart and coming from C++ and C# it seems it won't be too difficult to get used to it.
    Still not quite sure.

  • @digitalalliance4283
    @digitalalliance4283 5 лет назад +63

    look like we have too many choice to develop programming in 2019

    • @jjjjjjjjwwjwjw
      @jjjjjjjjwwjwjw 5 лет назад +12

      Web -> JS, Hybrid -> Dart, Native -> Swift/Kotlin
      Doesn't seem too bad.

    • @ownagejuice1394
      @ownagejuice1394 5 лет назад +3

      Ji Park and by Web we mean Vuejs or Svelte haha

    • @brandongonzales9687
      @brandongonzales9687 5 лет назад +16

      @@jjjjjjjjwwjwjw You mean, web => JS, PHP, Python, Ruby, Java, Kotlin. Desktop => Electron, Rust, C, C++, Python, C#, Java, Kotlin. Mobile => Java, Kotlin, Ionic, Flutter, Nativescript, React Native.

    • @okie9025
      @okie9025 4 года назад +2

      @@jjjjjjjjwwjwjw Flutter isn't hybrid, it uses native components. React Native is hybrid

    • @mr_ks_gaming
      @mr_ks_gaming 4 года назад

      @@jjjjjjjjwwjwjw Flutter isn't hybrid , it's cross platform.

  • @MechyBang
    @MechyBang 5 лет назад +1

    You, sir, are the shit! 🙌🏼🔥

  • @GeraldScholz
    @GeraldScholz 5 лет назад +1

    I thought Dart would be more complicated and therefore I didn't touched it. But this looks pretty easy to get into.

  • @jouebien
    @jouebien Год назад +1

    my biggest issue with dart is that it hasn't go a native double type - any time you want to calculate money your stuck using a third party library which hasn't implemented comparators. My biggest issue with flutter is the bugs and the issue auto close robot which closes open bugs before they get fixed. I still have like 10+ bugs in flutter which are over a year old and are still broken.

  • @beckhamoregunwa993
    @beckhamoregunwa993 4 года назад

    Can u use a web api in flutter

  • @RahulRanjan674
    @RahulRanjan674 5 лет назад

    I'm new and getting into web dev learning fronted as of now. Ionic 4 (angular ts)/ react native/ flutter, what should be my path.
    And what is flutter hummingbird?
    Thanks for your work. :)

    • @AlexanderGusakov
      @AlexanderGusakov 5 лет назад +1

      Rahul Ranjan definitely Flutter, I tried all and flutter is the best for me in many aspects

    • @RahulRanjan674
      @RahulRanjan674 5 лет назад

      @@AlexanderGusakov how much of java or core android do I need to get started. and please tell me about all prerequisites. Thanks for your reply. :)

  • @idlevandal69
    @idlevandal69 5 лет назад

    This video won't load? All other youtube vids are working!

  • @mayorityz
    @mayorityz 5 лет назад

    Wow. Deep stuff

  • @bundayyolayinka3352
    @bundayyolayinka3352 5 лет назад

    Great Stuff

  • @javadziaebrahimi3568
    @javadziaebrahimi3568 4 года назад

    awesome thanks😍

  • @leivicyper3827
    @leivicyper3827 4 года назад

    what do you think about flutter after a year of programing?
    (excelent video!)

  • @pastuh
    @pastuh 4 года назад +1

    I just started deep dive javascript...
    I don't know if its worth to switch.. :X
    NodeJS also very popular

  • @mdriyazuddinkhan
    @mdriyazuddinkhan 5 лет назад

    it's awesome.

  • @bibibobs
    @bibibobs 5 лет назад +1

    3:30 or press F5 and it will hot reload on save

  • @Viralplace
    @Viralplace 5 лет назад +1

    So should I learn vue or flutter ?

    • @Fireship
      @Fireship  5 лет назад +4

      Wanna build a web app? Vue. Wanna build a native mobile app? Flutter

  • @VikramSinghVikroatwork
    @VikramSinghVikroatwork 5 лет назад +1

    OMG. So many languages. I have an experience in Java, C++ and C and now I have trouble deciding whether to go for Angular or react or Vue as a web developer for a job prospect

    • @THEMRfatefighter
      @THEMRfatefighter 5 лет назад

      Js. Functional Js should never be underestimated

    • @philippklemmer3785
      @philippklemmer3785 5 лет назад

      First improve you J's knowledge. If you would go with angular, you have to learn typescript, which is really nice. React also supports Typescript, but I don't know about Vue. The point is, search for available jobs near to you and learn it, if you just want to pay bills. I would recommend you to look in every framework and pick the one you like the most :)

  • @jnsp6081
    @jnsp6081 2 года назад

    You should make a discord server for your community :p
    Love your videos

  • @mikeymop
    @mikeymop 3 года назад +4

    I _really_ like this video. As an RN developer this was very concise and informative. I was sad that at the end you left Stateful widgets listening to Streams with just a code snippet, instead of the perfect detail you included on all of the other concepts.
    I poked through your channel for all videos on flutter you have made hoping there was a good video dedicated to Streams and Stateful widgets but came up empty. Can you recommend one that you liked when you were learning them?

  • @viralvideos9227
    @viralvideos9227 3 года назад

    please make a video on performance between dart vs go vs java script

  • @nanip3946
    @nanip3946 4 года назад

    You can use Timer.periodic(duration, callback); instead of Stream.periodic(duration).listen(). Anyways, thanks for the video bud!

  • @bas_kar_na_yar
    @bas_kar_na_yar 4 года назад +4

    I love flutter because when I ask it to align content center, it does align content center..

    • @Yivan4
      @Yivan4 2 года назад

      Unlike centering a div

  • @MrDzprofessional
    @MrDzprofessional 5 лет назад +1

    for the
    await for
    you can use map in js and await it with Promise.all(arrOfPropmises)