Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Start Thinking Declaratively (By: Adil Soomro) ...

Start Thinking Declaratively (By: Adil Soomro) - Flutter Forward Extended 2023

Talk by Adil Soomro (https://www.linkedin.com/in/adilsoomro/) at Flutter Forward Extended 2023 by GDG Lahore.

GDG Lahore

March 20, 2023
Tweet

More Decks by GDG Lahore

Other Decks in Programming

Transcript

  1. Challenges of mobile development today “To the metal” approaches “Cross

    platform” approaches Must fund two apps Two teams, codebases, & investments Inconsistent brand, features Different across devices & OEMs Poor Performance Slow, jerky, unpredictable Non-Native Look/Feel Users can tell the difference High-quality apps Platform and system integrations Fast development Quick iterations, hot reload High-performance UIs Native code, GPU accelerated Portability, reach Single codebase
  2. Flutter is Google’s UI Framework ” Flutter combines native performance

    and quality with high-velocity development and multi-platform reach. “
  3. Four pillars of Flutter Why Flutter? Beautiful Exceptional UI Kit

    Material & Cupertino Widgets Collection 1 Fast Near Native architecture 60 FPS GPU accelerated Deep integration 2 Productive Hot Reload Quick Storyboarding Faster Collab 3 Open source Free & open source 3rd party contributions. 4
  4. Framework (Dart) Engine (C++) Skia Dart Text Material Cupertino Widgets

    Rendering Animation Painting Gestures Foundation Flutter app (client) State MethodChannel FlutterMethodChannel MethodChannel iOS host Android host AppDelegate Activity FlutterViewController FlutterView iOS Platform APIs 3rd-Party APIs for iOS Android Platform APIs 3rd-Party APIs for Android
  5. Why Choose Flutter? Feature Parity Provide consistent features across platforms

    1 Theme Theme & Customizing and branding 2 Testing Improved building, maintaining & testing capabilities 3 Superior DevTools DevTools for monitoring, profiling, debugging, memory management 4
  6. // Imperative Style ViewB b = new ViewB(...) b.setColor(red) b.clearChildren()

    ViewC c3 = new ViewC(...) b.add(c3) String text = 'Large Heading'; TextView textView = new TextView(...) textView.setText(text); ... text = 'Large Heading Changed'; textView.setText(text); // Declarative Style return ViewB( color: red, child: return ViewB(), ) String text = 'Large Heading'; ... Text( text, ), ... text = 'Large Heading Changed'; setState({});
  7. Works with popular tools and platforms Material Design Firebase VS

    Code Android Studio Android APIs iOS APIs Redux Xcode 3rd-party Android SDKs 3rd-party iOS SDKs
  8. New app OR add to existing ones Build your new

    idea in Flutter, and reach both iOS and Android at the same time. Test Flutter in production with one or two screens in your existing app. Prototype a new app or website idea Use Flutter to test out an app concept or idea in record time. Do storyboarding, mvps in flutter. Bring your app to the the other platform You already have an iOS or Android app? Use Flutter to build for the other platform. Combine codebases when you’ve proven your Flutter app. Ways to use Flutter today
  9. Career Opportunities Freelancing Options Product Development Change path in future

    + + + + Ways Forward Teach others. Youtube, facebook, blogs +
  10. Build a strong foundation. Don’t ignore basics Online presence. Open

    source, Portfolios, GitHub, Join communities, meetups, events Soft Skills. Communication, teamwork, problem solving Don’t stop learning! + + + + + Prepare for market
  11. Houzi - real estate platform. • Fully customizable theme from

    remote. • Dynamic home, filters, menus, details. • Built for developers. Houzi Builder • Desktop app built in Flutter. • Dynamic settings for the app. What we built?