Single Codebase, Two Apps with Flutter and Firebase (Google I/O '17)

Поділитися
Вставка
  • Опубліковано 17 жов 2024

КОМЕНТАРІ • 165

  • @satheeshwaranJ
    @satheeshwaranJ 7 років тому +12

    I have seen almost 15+ Google IO sessions and in none of them have the audience been this enthusiastic but it was a great demo ;)

    • @andreassumerauer5927
      @andreassumerauer5927 6 років тому +1

      Also Emilys enthusiam is so contagious. She is a great speaker.

  • @amugofjava
    @amugofjava 7 років тому +83

    This is the first cross platform development system I'm excited about and it's come on along way over the past couple of years. I wonder how long it will be before it reaches Beta stage.

    • @SethLadd
      @SethLadd 7 років тому +7

      It might be useful for you now. Internal Google teams are shipping with Flutter. Some teams in the public have shipped, too.

    • @MohdAkmalZakiIO
      @MohdAkmalZakiIO 7 років тому

      Ben Hills there's another, React Native.

    • @karol-lisiewicz
      @karol-lisiewicz 6 років тому +1

      Mohd Akmal Zaki React Native is not exciting at all. Returning to pure JS? Sorry, but no.

    • @myspaceflow6743
      @myspaceflow6743 6 років тому

      DartFLOW aNuSpeek NaturalSystems ProgressiveDevelopment CrossPlatform Is InTheNOW

  • @RodyDavis
    @RodyDavis 6 років тому +4

    I have been using it and my company is now wanting to develop all future apps in flutter thanks to the record dev time!

  • @ThomasOrlita
    @ThomasOrlita 7 років тому +8

    GitHub: github.com/efortuna/memechat

  • @JSDudeca
    @JSDudeca 7 років тому +19

    My money is on Dart / Flutter for the future of UI apps. Only gap right now is targeting desktop apps and from what I see there is no technical limitations to tooling Dart /Flutter to work there also. Just need to point resources to tightening and refactoring Dartium and maybe bridging with projects like Electron.

    • @deidyomega
      @deidyomega 6 років тому +1

      Dartium is dead... it's official. They've gotten the dart compile time so quick there's no reason to use dartium.
      Flutter for future desktop is interesting, but doubtful.

    • @RetchEinhundert
      @RetchEinhundert 6 років тому +1

      Google intended flutter for their fuchsia os, so if we use fuchsia we can use flutter apps on desktop.

    • @fabianpetrescu
      @fabianpetrescu 3 роки тому

      Great predictions. Time sure flies!

  • @LauriusT
    @LauriusT 7 років тому +65

    Really interesting project, but with so many languages and frameworks that support Android/ iOS developer, it's really hard to chose where to start as begginer Android developer: Java, Kotlin, React Native, Xamarin and now Dart..

    • @atomheartother
      @atomheartother 7 років тому +13

      Laurynas Ionic too!

    • @robertfelker2275
      @robertfelker2275 7 років тому +20

      And nativescript

    • @quentinhomareau3090
      @quentinhomareau3090 7 років тому +14

      Don't be fooled by the proposition of "Code Once , Deploy Everywhere"
      I can only recommend to first develop in Java for Android and Swift for iOS . Once you understood both , move on to nativescript or xamarin if your stack or company needs it.

    • @SunshineVocals
      @SunshineVocals 7 років тому +7

      Laurynas go kotlin for Andriod it's the future.

    • @EugeneRambo
      @EugeneRambo 6 років тому +2

      I would start with Java because of its readability/simplicity

  • @pouipzxvzxc7036
    @pouipzxvzxc7036 7 років тому +10

    I for one find it refreshing to not have to learn an entire stack of languages to lay out an UI (no HTML, no CSS, no XAML), looking forward to trying it out

    • @YoLninYo
      @YoLninYo 7 років тому +3

      Your comment only makes sense if you're already proficient with Dart, otherwise, it's just as steep a learning curve for people coming in from the JS world, and there are quite a few of them. Plus you don't get native widgets after all that work.
      You WILL need to do the equivalent work in Flutter for layout etc that you need to do with JS based stacks. I'm looking at both and not emotionally invested in either, and to me it seems a wash whether I go with JS (much larger, more mature community) or with Flutter (much smaller community, and google has a terrible record of supporting experimental projects long term.)

    • @pouipzxvzxc7036
      @pouipzxvzxc7036 7 років тому

      @YoLninYo: I don't come from the JS world, and your comment only makes sense if you assumed I care what people from the JS world think. This is mobile app development, not the web. Dart follows conventional PLs, so any existing Java/C#/C++ knowledge easily transfers across, whereas JS is full of JS-only quirks, with or without ES6. As for native widgets, who cares, as long as the performance, the look and feel etc. are good?
      The whole point of a project being experimental is to shut it down if it doesn't work out. It's not Google's fault if businesses stake their livelihoods on something that's still in alpha. And please don't bother mentioning Reader, that's a false equivalence.
      PS: You don't need stacks for everything, what you need is a decent platform. I'm not saying Flutter is one, only that it might become one as it matures. I'm not opposed to a markup language, but all the ones I've seen up till now have been unpleasant in my experience. And let's not joke ourselves, JS is not just one large unified community - you've got the Ember guys, the Angular guys, the Backbone guys etc.

    • @ko-Daegu
      @ko-Daegu 6 років тому

      HTML and CSS is a big deal for real Bro ???

    • @fabianpetrescu
      @fabianpetrescu 3 роки тому

      Great predictions! ​@@pouipzxvzxc7036 Are you still into Flutter? The baby is no longer a baby as in 2020. Where do you think we are heading?

  • @simplexination9837
    @simplexination9837 Рік тому

    My Dream came true. One language to rule all platforms. Android, iOS, web, win, Mac and beloved Linux. Thanks google🙏🙏🙏

  • @puneet7768
    @puneet7768 6 років тому +1

    what should one choose then?
    classic approach ie via java or kotlin?
    or react native?
    or flutter?

  • @8xster8
    @8xster8 7 років тому +22

    Super awesome talk guys!! Super excited

  • @stephanfebruary
    @stephanfebruary 7 років тому +3

    Super excited to dust off the Dart skills. I thought that horse was dead ?
    Also great talk. Loved the quirky insiders like "all the way down" 😀

  • @subhajitsaha8740
    @subhajitsaha8740 6 років тому

    It's really good concept to develop Mobo developers..... I'm really exciting about flutter and dart also....I think it's a first platform where we can easily write our codes in flutter for both android and iOS....so i really thankful from Google to make us easier

  • @sim_scape
    @sim_scape 6 років тому

    I have tested intellij with flutter and it's ok with an android emulator but I can't find a way to try the app in an IOs emulator, is it possible with a pluging or something else ?

  • @BD-hy8bl
    @BD-hy8bl 6 років тому +1

    Hi All. Question about Flutter: can I create non web-based applications? I my case clients using our App will be disconnected to Internet so the database we will use must be installed on the Device no matter if it is Tablet or Phone. Thanks for clarification.

    • @BD-hy8bl
      @BD-hy8bl 6 років тому

      Thanks, Emily.

  • @jitendrapanchal8699
    @jitendrapanchal8699 6 років тому

    Flutter installation simply isn't working with windows 7..I tried cloning beta branch and followed instructions on flutter.io but every time it throws the same exception, tried various suggestions on github issues still the sdk configuration doesn't work. Same issue is with master branch, can you release some document or some configuration to resolve known issues with sdk installation.

  • @MohanAgriMallTelugu
    @MohanAgriMallTelugu 7 років тому

    Does flutter support Camera integration? How can we achieve this?

    • @robertfelker2275
      @robertfelker2275 7 років тому

      Yes there's a plugin to deal with photo and gallery

    • @robertfelker2275
      @robertfelker2275 7 років тому +1

      github.com/Solido/awesome-flutter

    • @JSDudeca
      @JSDudeca 7 років тому +2

      Flutter has full native access to iOS and Android devices. This is because the code running on those platforms is native and not HTML5 via a webview. This differs on how Dart works in the browser which is just JavaScript.

  • @jorgepedraza1275
    @jorgepedraza1275 7 років тому

    Will it work with all the IOS and Android versions both physical and virtual?

  • @normaline.modubu3306
    @normaline.modubu3306 5 років тому

    Good day, what software did you use for your intro... thank you.

  • @belugabibletranslations8594
    @belugabibletranslations8594 6 років тому

    Can someone please explain the second line after the git clone command ? What do I need to do with $PATH in Linux ?

  • @grzegorzdvipek
    @grzegorzdvipek 7 років тому

    Interesting idea overall. But, actually, this would look much more readable in Kotlin than Dart. By writing a simple DSL (similar to Anko), you could get rid of large amount of boilerplate that's present in Dart's code. So what's the point of introducing Dart here?

  • @acappellageet4278
    @acappellageet4278 7 років тому

    Is code-completion in Android Studio? I hope so...

  • @AnthonyH35
    @AnthonyH35 7 років тому +1

    is it possible to port over an already existing android app into the flutter dev environment or do i need to recreate it in flutter?

    • @SethLadd
      @SethLadd 7 років тому +5

      (disclaimer: I work on Flutter)
      You can use Flutter for part of your app's view, or all of your app's view. Flutter is really just a UI surface (a GL surface). With Flutter, you'll be rewriting part of or all of your views, but you can reuse your Java/Kotlin code as "plugins" for Flutter.

    • @YoLninYo
      @YoLninYo 7 років тому +1

      Why do we even have to use text to describe our 'surface'? why can't I just draw and hook up the elements with minimal code? This is the 21st century and you are still coding as if you're on ENIAC! I should be able to draw the frikkin interface and hook up the data/logic flows. NOW THAT would be a good use of 200 google engineers' time. Creating another language is a LEO activity. Instead of going to Mars or Alpha Centauri, you're still stuck in a slightly upgraded tin can going in circles... going nowhere.

  • @scoff7032
    @scoff7032 6 років тому

    Ok but am i able to use services, broadcast receivers etc.?

  • @RichardVowles
    @RichardVowles 7 років тому +2

    What happened to the other session at IO? Apparently about Flutter and designers - it was mentioned in this session.

    • @emilyshack5149
      @emilyshack5149 7 років тому +6

      You can watch it here!
      ua-cam.com/video/BJCqRpvvTrM/v-deo.html

  • @D3FKONMusik123
    @D3FKONMusik123 7 років тому +3

    Okay, i understand that this is a very clean framework. But, I'm sticking to RN. I like the level of UI control RN offers and more over, i don't need another programming language :)

  • @sandeepreddyvinta
    @sandeepreddyvinta 7 років тому

    I've an windows xp machine which cannot be upgraded as I've other licensed software.
    Does flutter work on windows xp?

    • @JSDudeca
      @JSDudeca 7 років тому

      Its likely not possible, but you could always spin up a Windows 10 VM on VirtualBox or VMware workstation/player on your XP machine.

  • @alexandrurghinea
    @alexandrurghinea 6 років тому

    Great talk, but this sounds almost exactly like React Native, Metro Bundler, Hot Reload, Functional Component, yada yada thingy we already see in the wild and works.

  • @XsmaelTheBest7
    @XsmaelTheBest7 6 років тому

    what are those two example of flutter apps in prod they didnt show us ?

    • @EmilyFortuna
      @EmilyFortuna 6 років тому +1

      1) The Hamilton Official App is written using Flutter.
      2) Google Adwords App

  • @ijasdeen3809
    @ijasdeen3809 6 років тому

    is flutter better than ReactJs?

  • @BraulioCassule
    @BraulioCassule 7 років тому

    32:26 Can anyone comment the link to this talk I can't find it.

  • @charlesclevelandjr
    @charlesclevelandjr 7 років тому

    Hey Google or Firebase. Please do some Flutter documentation for Firebase like you have for iOS and Android?! If there's something out there already please let me know.

  • @樊飞-h2g
    @樊飞-h2g 6 років тому

    It is so cool, i like Flutter

  • @Almjz
    @Almjz 7 років тому +6

    8:52 This sounds almost exactly like React .... Did they just copy past or is their somthing new ?

    • @MateoHrastnik
      @MateoHrastnik 7 років тому +4

      React proved to be a really great way to structure applications and components within them. Google recognized that and copied the workflow trying to grab a piece of the pie while it's still warm.

    • @robertfelker2275
      @robertfelker2275 7 років тому

      Flutter has his own rendering engine which means widget will render the same on any platform but you're gonna find react concepts and pattern.

    • @Almjz
      @Almjz 7 років тому +2

      I dont know much about the internal workings of react native but from what i gather it seems that the components are converted into their counterparts in native land when using react native. However according to your comment I assume that flutter will do its own thing and render. Hope to see some performance gains over. react native then.

    • @SethLadd
      @SethLadd 7 років тому +8

      (disclaimer: I work on the Flutter team)
      Flutter has its own renderer, so Flutter is drawing and managing the pixels. Flutter ships with material and cupertino (ios-style) widgets and behaviors for you to use.

  • @Mse7enra
    @Mse7enra 7 років тому +7

    welcome to boilerplate framework.

    • @mrunfunny
      @mrunfunny 4 роки тому

      lol, you couldn't have been more wrong

  • @xcosmicsanta
    @xcosmicsanta 7 років тому

    Is it easy to integrate a facebook api within flutter?

    • @SethLadd
      @SethLadd 7 років тому

      (disclaimer: I work on the Flutter team)
      Here's the docs for how to write a plugin: flutter.io/platform-plugins/ . Hope that helps!

  • @AntoineARNOULT
    @AntoineARNOULT 7 років тому +1

    This project has a great potential but it's too hard to choose between react native and flutter. I hope both projects will be soon "ready for production". When I tested react-native, some basic components were missing, I guess it's the same for flutter. Anyway, another battle between Google and Facebook.

    • @SethLadd
      @SethLadd 7 років тому

      We'd love to know which components you need or want. Please feel free to open an issue: flutter.io/issues
      (disclaimer: I work on the flutter team)

  • @reevanthlama5278
    @reevanthlama5278 7 років тому +2

    how did you deploy on to two devices at once through flutter

    • @JSDudeca
      @JSDudeca 7 років тому

      This is what Flutter was designed to do OOTB. However, to target both iOS and Android, you will need to publish from a Mac OSX machine. Its not possible to target iOS from Linux or Windows.

    • @reevanthlama5278
      @reevanthlama5278 7 років тому

      I am having a trouble getting a firebase+flutter project up and running .... Help is needed plz

    • @reevanthlama5278
      @reevanthlama5278 7 років тому +1

      Eric Seidel , could you help me out with the firebase PHONE NUMBER auth with flutter?

    • @xiaoyu5017
      @xiaoyu5017 7 років тому +3

      If I understood your original question correctly, you can run on both devices simultaneously with 'flutter run -d all'

  • @janbrezina2075
    @janbrezina2075 7 років тому

    it would be great not to check style at runtime but rather compile two different apps with two different targets from the same code-base

  • @ismannyb8148
    @ismannyb8148 4 роки тому

    Been using flutter since it was in beta

  • @Shamzic
    @Shamzic 6 років тому

    How can we run an IOs emulator with IntelliJ ?

    • @Shamzic
      @Shamzic 6 років тому +1

      Emily Fortuna Thank you for your anwser. I'm on a Windows pc.. But I tried finally to emulate a macos and I run xcode + iphone simulator on a virtual machine. It works!
      But now I have some problems to get the ipa..

    • @AmIrightbro
      @AmIrightbro 6 років тому

      Shamzic create a shared folder where you put your codebase.

    • @Shamzic
      @Shamzic 6 років тому

      Amrit Pal Singh Thanks for your help! here is my code: drive.google.com/folderview?id=1NGXBXF0Mwm5ynBeVZ36xzgFgnECZ8rjz

  • @rowanjugernauth5519
    @rowanjugernauth5519 7 років тому +14

    Lovely lovely geeks! :)

  • @harakara51
    @harakara51 7 років тому +2

    Great talk!

  • @DavidShellabarger
    @DavidShellabarger 7 років тому +2

    hehe. Amazing talk. Thanks.

  • @AnbuRajanburajn
    @AnbuRajanburajn 6 років тому

    How to do debugging and tracking

  • @ss-xn5rw
    @ss-xn5rw 6 років тому +6

    Why we learn kotlin ? If u introduce dart .. ..

  • @acedigibits9079
    @acedigibits9079 6 років тому

    Far too complicated. Theres only linking to google products shown like google sign in and firebase. What about other http requests?we would have to make widgets for each? all techs shown are already here long time back...hot reloading, auth plugins, animation, native views. Why would one shift from react native to flutter?

    • @EmilyFortuna
      @EmilyFortuna 6 років тому +2

      1) React native isn't fully native views.
      2) You can do any regular old http request easily! Check out ua-cam.com/video/iflV0D0d1zQ/v-deo.html where we do that.
      3) Hot reloading works better and in more cases in Flutter than how it works in say, Android right now.
      4) We showed linking to the device's camera -- that's not a Google product.

  • @JohnEthan777
    @JohnEthan777 6 років тому

    This has to be the only time I've actually found watching a video in 60fps to be weird and preferred 30fps....

  • @vladimirfomene2847
    @vladimirfomene2847 7 років тому +1

    is flutter a google project?

  • @mnd94
    @mnd94 6 років тому

    whats the editor they are using?

  • @andreassumerauer5927
    @andreassumerauer5927 6 років тому +1

    Now get your hands dirty and grab the source code!
    It is available from github:
    github.com/efortuna/memechat

  • @ameerchand7918
    @ameerchand7918 7 років тому

    How can we manage message seen or unseen status ?

  • @tekh_ops7855
    @tekh_ops7855 3 роки тому

    29:19 Nice

  • @alb12345672
    @alb12345672 7 років тому +1

    Services like Firebase make me worried. Look what happened with Parse! What if Google decides they want to get rid of it one day? There are some good alternatives around that you can set up and host.

    • @asciivision
      @asciivision 7 років тому

      alb12345672 How long do you expect to have your app running? Probably their lifecycle is shorter than Firebase's.

    • @robertfelker2275
      @robertfelker2275 7 років тому +1

      Firebase is now complete part of Google Cloud, question is when do you expect Google to shut it down when Spotify is running on it ? ;)

    • @alb12345672
      @alb12345672 7 років тому +3

      I migrated a client off Parse at the last minute, maybe that left an impression on me. I guess if Spottily trusts it I can too! It looks perfect for chat apps or swapping lists but I wouldn't be using it for medical records or analytic work. I would also like to investigate cost, putting something on Digital Ocean or AWS is really cheap. I was actually doing some research the other day for my project, this popped up: medium.com/@contact_16315/firebase-costs-increased-by-7-000-81dc0a27271d. Seems like SAAS are the new ATT data plans of years past. Then again time is money too...If I have to mess with some problem for a few days there is a few thousand right there. Firebase (from a functionality standpoint) is a great tool but with that comes the responsibility to know it is best for your situation. This goes for any tiered service you buy. From Google to the guy building apps his basement, we aren't in this for charity. Googles high salaries have to come from somewhere :). Again, I have nothing against Google or Firebase but you should know what you are getting into before you click the "agree to terms" checkbox.

    • @robertfelker2275
      @robertfelker2275 7 років тому

      Sol Ido il y a 2 secondes
      I agree 100% with you. It is a very strategic choice. Currently the main strength of firebase is not the 'real time' operations but as a platform it gather everything you need in one place. Auth for all social networks and even phone to crash analytics and deep google integration. I'm aware that all this can be obtained by others providers but you need to put the glue together which could take months and so money. All together make it clear that Google can put a lock on you if you built upon Firebase but can you afford to fight another startup that goes with firebase and is market ready in 3 months when you've just completed your architecture ? Guess all this will accelerate since we need more and more techs and Cloud are becoming unavoidable.

    • @stevenb-euc
      @stevenb-euc 7 років тому +2

      I think the idea is that its okay to use something like Flutter and Firebase to get up and running quickly, then migrate to a more controllable platform when your app is successful. Similar to how a lot of web apps start off with something opinionated like Laravel or Ruby on Rails then move to a more custom stack. Just another way of avoiding premature optimization, in effect.

  • @lemongaming3162
    @lemongaming3162 7 років тому

    Sample Code?

  • @typingcat
    @typingcat 7 років тому +9

    Dart? Damn still another language to learn. Why can't they use Kotlin, C#, Java, or even Swift? So many languages to learn...

    • @andreassumerauer5927
      @andreassumerauer5927 6 років тому +7

      Two answers: (1) The dart compiler is able to create native arm machine code. This allows for super slick and fast release builds with a small footprint. (2) check out the hot reload feature in Flutter. I don't think this could have been achieved without dart.
      I am happy to learn Dart only for these two killer features.
      Coming from C++ I also do appreciate the strict typing system in Dart which makes debugging so much easier because it catches your bugs at compile time rather than at runtime where they can get really nasty to resolve. Also I am happy that I don't have to deal with a separate layout language. To me Dart is just that language I have been waiting for.

    • @geraldbrown7775
      @geraldbrown7775 6 років тому +3

      Agreed. There are some great codelabs available, too, for developers coming from Java. If you've done some Java, some C#, and/or Javascript, Dart won't be unfamiliar.

    • @dmitriyobidin6049
      @dmitriyobidin6049 5 років тому

      @ኢትዮጲያዊ ማንነት Java is not owned by Oracle, common misconception.

  • @kamranbashir4842
    @kamranbashir4842 6 років тому

    Why is this flutter thing not super hot in market yet?

  • @tannerdavisr
    @tannerdavisr 6 років тому

    Anyone else notice they used an over-head projector. #sometechneverdies

  • @WillTesler
    @WillTesler 6 років тому

    Share the code plz.

  • @osamansr5281
    @osamansr5281 6 років тому

    in case anyone would like to follow while having the whole code ,,, this link is in the end of the video (should been in the description too but meh ;p)
    github.com/efortuna/memechat

  • @itsmychaanal9957
    @itsmychaanal9957 6 років тому

    Thanks to google filter apps

  • @testpayman3446
    @testpayman3446 6 років тому +15

    Now, you want us to learn Dart? Why don't u use common languages like C# , Java or TypeScript? Go, Kotlin and now Dart!!! Dart??? Are you serious? Is it productive for us to learn a new programming language every 1 month?

    • @zeccy337
      @zeccy337 5 років тому

      They have different purposes

    • @dmitriyobidin6049
      @dmitriyobidin6049 5 років тому +1

      Cause different languages have different pros and cons. With both C# and Java you have to bring massive runtime environment, typescript is just JS on roids - you won't get anything better than React Native with it.

    • @gabrielmoreyra3365
      @gabrielmoreyra3365 5 років тому +2

      Hot reload is possible thanks to Dart. Besides, if you're good at programming, learning a new language should be a piece of cake.

  • @albertvaraksin1582
    @albertvaraksin1582 7 років тому

    Every tool/framework so far that promises "cross platform" development has been a disappointment. Resource hogs, doesn't really feel native, difficult if not impossible to actually use platform specific features, doesn't play well with native tools / frameworks.
    In my experience if you care about your customers and want a quality first class application then the only way is to use proper native tools. Your customers *will feel* the difference.

  • @felixyin9858
    @felixyin9858 6 років тому

    flutter很酷

  • @blank-vw2sb
    @blank-vw2sb 4 роки тому

    This became obsolete

  • @erivertoveristay4791
    @erivertoveristay4791 6 років тому

    Hola como están

  • @dominikskeries
    @dominikskeries 5 років тому +1

    Emilyception

  • @小龙的梦
    @小龙的梦 6 років тому

    has Google ever came with an original idea?

  • @MauroAlexandre
    @MauroAlexandre 7 років тому +1

    wooow, Dart, but but but ...

  • @MaherNabeel
    @MaherNabeel 6 років тому

    the app works even if there is a syntax error! that's ugly.

  • @thatsenam9183
    @thatsenam9183 6 років тому

    its fucking complex

  • @joe_deertay
    @joe_deertay 6 років тому

    Flutter 👍 Dart 😒

  • @shaggyfrost7889
    @shaggyfrost7889 6 років тому

    👑👤🚬🏰

  • @spacitron4818
    @spacitron4818 7 років тому

    Looks promising but there's no way it'll succeed if it only supports Dart. Please please please add support for Kotlin!

    • @testpayman3446
      @testpayman3446 6 років тому

      Kotlin is creepier. It has to be done in Java or C#.

  • @notaspectator
    @notaspectator 7 років тому +2

    damn it google, flutter started 2 years ago and it just looks like java swing for UI, yuck , dump android, build a new platform with flutter as primary framework

    • @aaakin
      @aaakin 7 років тому +4

      That is called Fuchsia. Why not conquer all of it?