Andrei Lupsa
Andrei Lupsa
  • 9
  • 88 703
Can you run JavaScript in Flutter?
I didn't find a good Dart library able to parse math expressions, so I jumped the fence and borrowed one from JavaScript. Is this good or bad?
Why am I switching to Flutter in 2024
ua-cam.com/video/3WAEQ-zKAqg/v-deo.html
Download my app here:
www.allinonecalculator.com
00:00 - Introduction
00:25 - Why I need it
02:37 - How I did it
05:50 - What are the caveats
06:23 - Conclusion
Thank you for watching!
Переглядів: 8 271

Відео

Tips for growing your mobile app in 2024
Переглядів 985Місяць тому
Short talk about the different ways you can grow your Android or iOS app in this day and age. Download my app here: www.allinonecalculator.com 00:00 - Introduction 00:51 - What kind of app we're dealing with? 03:12 - Aquiring users with money 06:30 - Getting users for free 08:04 - User retention is important 09:12 - Aim for organic growth 10:08 - Conclusion Thank you for watching!
Building a Flutter Calculator: Part 1, The Layout
Переглядів 1,1 тис.2 місяці тому
In this video I will go through the process of building the calculator layout for my app, All-In-One Calculator in Flutter. You can download the app here: www.allinonecalculator.com 00:00 - Introduction 00:12 - Requirements 01:30 - Disclaimer 01:58 - The Calculator 04:37 - The Builder 06:21 - The Button 08:20 - The Panel 09:13 - The Pager 10:25 - The Display 11:56 - The Field 12:57 - The Layout...
Will you write code for the rest of your life?
Переглядів 7662 місяці тому
Just a short talk about why software engineers wish to retire early. Thank you for watching!
4 Guys, 1 Hilux: Across the Arctic Circle
Переглядів 8274 місяці тому
This is the story of 4 guys, 1 truck, 7000 kilometers and one goal: To get to Nordkapp. The northernmost point in continental Europe. Download my app here: www.allinonecalculator.com
Preparing my Hilux for the Arctic Circle
Переглядів 9535 місяців тому
I'm taking my Toyota Hilux and 3 of my friends from Transylvania, 600 kilometers past the Arctic Circle to Nordkapp. The northernmost point in continental Europe. 00:00 - Introduction 00:27 - Where we're going 01:12 - What we're going with 03:38 - Preparing the Hilux 04:45 - Conclusion Just a heads up! I filmed this in the garage, with no sound treatment on the walls. The audio was horrendous, ...
Why am I switching to Flutter in 2024
Переглядів 64 тис.5 місяців тому
How I got my app to 10 MILLION downloads ua-cam.com/video/dMPEC5AVkQE/v-deo.html 00:00 - Introduction 00:49 - Dated UI 01:53 - Technical debt 02:23 - iOS support 03:03 - Project overview 03:21 - State management 03:43 - Strings & localization 04:08 - Images & vectors 04:26 - Authentication 04:44 - Navigation 05:02 - Storage 05:58 - Themes 06:22 - Responsive UI 06:36 - What's next 06:46 - Conclu...
Life with OCPD: The Good, the Bad & the Ugly
Переглядів 2,1 тис.5 місяців тому
Obsessive Compulsive Personality Disorder 00:00 - My morning routine 02:00 - Definition of OCPD 02:42 - How it started The Good: 03:49 - Order 04:32 - Attention to detail 05:03 - Minimalism 05:30 - Cleanliness The Bad: 06:38 - The way I do a task is more important than the task itself 07:45 - Rules and routines 08:10 - Obsession on shapes, lines, numbers, dates and time 08:58 - Need to check ev...
How I got my app to 10 MILLION downloads
Переглядів 10 тис.5 місяців тому
Download the app at: www.allinonecalculator.com 00:00 - Introduction 00:35 - How I got into mobile app development? 01:18 - My first app on the Play Store 01:54 - Landing my first job 02:44 - Working with mobile ads 03:31 - The eureka moment 04:06 - The birth of All-In-One Calculator 05:02 - Slow and steady wins the race 06:02 - Today's report 06:34 - How much does it make? 06:58 - Plans for th...

КОМЕНТАРІ

  • @nico_pujia
    @nico_pujia 9 годин тому

    Hey, thanks for the valuable content. Please don't stop doing it just if it doesn't get many views, as it's very useful for those of us who see it.

  • @alaaabdalqader9718
    @alaaabdalqader9718 День тому

    can u make a video how to extract images from pdf file in flutter ?

  • @kyleaustin2728
    @kyleaustin2728 2 дні тому

    FLUTTER FOREVER!!!

  • @prabalverma334
    @prabalverma334 9 днів тому

    good

  • @acromos
    @acromos 27 днів тому

    I LIKE WHAT YOU'RE DOING. I GET INSPIRATION HERE. THANK YOU

  • @nrg4285
    @nrg4285 28 днів тому

    DUDE THIS IS AMAZING. Good pacing, thoughtful structure, and brilliant explanations.

  • @mikopiko
    @mikopiko 29 днів тому

    5:11 any specific reason why you didn't just stick to a function and had to wrap it in a class?

  • @karimazkoul7475
    @karimazkoul7475 29 днів тому

    Ads Integration to generate revenue from zero to millions. It will be a good series to start in your youtube channel 😊

  • @PedroChavesDraygom
    @PedroChavesDraygom Місяць тому

    Very helpfull

  • @programingtales7514
    @programingtales7514 Місяць тому

    Thats really cool

  • @PedroChavesDraygom
    @PedroChavesDraygom Місяць тому

    Really great work in so little time

  • @trungbui7518
    @trungbui7518 Місяць тому

    Can you show me how to parse json with worker in flutter web?

  • @imranit
    @imranit Місяць тому

    Good content and video, make more on for apps growth

  • @memoriasIT
    @memoriasIT Місяць тому

    I don't know how to feel about this, but cool stuff :D

  • @YayoArellano
    @YayoArellano Місяць тому

    This is a great video and a very smart approach to solving your problem. I would like to know how you record and edit your videos. They look great.

    • @andreiIupsa
      @andreiIupsa Місяць тому

      Hmm.. I'm a geek when it comes to cameras and photography so this won't be a short answer. First, lighting is important. I have a single Elgato Key Light set to 100% 5500k right in front of me. I use a Sony A7IV camera, a 16-35 F2.8 GM lens with a Nisi True Color 1-5 stops variable ND. I film in 4k 30p 4:2:2 10-bit S-Log XAVC-S 1/60. Camera WB is set to manual 5500k. I overexpose the log footage with 1 stop and I don't use in camera sharpening. I use the Phantom Luts Eastman lut and I add some sharpening in post. For audio I switched from the Shure SM7B to the Sennheiser MKE 400. 😁

    • @YayoArellano
      @YayoArellano Місяць тому

      @@andreiIupsa lol. I still have many things to learn. Thanks for ur answer

  • @mycloudvip
    @mycloudvip Місяць тому

    awesome work. for me getting the job done is worth more than the approach you take. Kudos!

  • @Snggle
    @Snggle Місяць тому

    Nice, can't wait until you try large TS packages that are sdks lmao.

  • @listendream2792
    @listendream2792 Місяць тому

    Thank you for your sharing, love your videos and inspire me alot. Keep up the good work!!🧡🧡

  • @michaelchiz8055
    @michaelchiz8055 Місяць тому

    Nice

  • @KlawaJunior
    @KlawaJunior Місяць тому

    Codict app uses this library

  • @BinaryBridgeHQ
    @BinaryBridgeHQ Місяць тому

    I like the solution, I love flutter, I develop applications using flutter on daily basis and I can't go back, No matter what I try, I just want to stick to flutter.

  • @agoshxyz
    @agoshxyz Місяць тому

    All you need is React Native

  • @kevinmore2012
    @kevinmore2012 Місяць тому

    I mean, you could have put those advanced calculations into a backend and only let paid members to access it.

  • @TheAbhidugar
    @TheAbhidugar Місяць тому

    from where did you learn to use riverpod?

    • @andreiIupsa
      @andreiIupsa Місяць тому

      The getting started documentation they provide is all you need.

  • @koteelok2014
    @koteelok2014 Місяць тому

    lazy

  • @scratchindonuts7903
    @scratchindonuts7903 Місяць тому

    Messi teaching Flutter now? Nice.

  • @tfozo
    @tfozo Місяць тому

    Whats ur MAU? on the 14 million downloaded app, i was wondering after the first video?

    • @andreiIupsa
      @andreiIupsa Місяць тому

      1.1 Million

    • @tfozo
      @tfozo Місяць тому

      ​@@andreiIupsa ❤

  • @cossale
    @cossale Місяць тому

    I prefer the "legacy" app ui. Guess i won't be updating 🫠

  • @momshaddinury
    @momshaddinury Місяць тому

    This is amazing, genius. By any chance is it possible to render math equation like calculus natively without using webview?

    • @andreiIupsa
      @andreiIupsa Місяць тому

      The runtime runs natively and doesn't use a webview, as far as I know.

    • @momshaddinury
      @momshaddinury Місяць тому

      @@andreiIupsa Do you need to render complex LaTeX formatted equations?

  • @rodrodrigues1729
    @rodrodrigues1729 Місяць тому

    being creative is essential for programming, nicely done. the end of the video is really cool as well.

  • @theskyblockman
    @theskyblockman Місяць тому

    This is good for your app but shows a massive problem for the Dart ecosystem (and many others): If people look over the fence too much, no development in Dart would be made and we would all go to JS. I am also not a fan of creating another entire runtime when the app starts. I am mainly against just using other languages like that because I ported 2 giant decompilers from Python to Dart and I want other people to suffer with me. This looks like a fun project for my next vacation though!

  • @matthieupernelle8074
    @matthieupernelle8074 Місяць тому

    Can you translate a Js or Java library to dart with ChatGPT ?

  • @AbdulHaseeb-sy7uo
    @AbdulHaseeb-sy7uo Місяць тому

    You made my day, letting me know what is possible with flutter! thank you so much Andrei . I have subbed your channel!

  • @jointtask4047
    @jointtask4047 Місяць тому

    I recommend you do the evaluation on a diff tread using the compute or isolate function in dart, that will increase performance and reduce jank when evaluating large expressions

  • @user-cz5cy8ud8m
    @user-cz5cy8ud8m Місяць тому

    Hi! could I ask you why you did choose Flutter instead of KMP though you already were using Android native? :)

    • @mibi2007
      @mibi2007 Місяць тому

      because Flutter views more than KMP I think 😁

  • @ransomecode
    @ransomecode Місяць тому

    kids are going to run xss on your app bro if you put the input directly into evaluate()

    • @andreiIupsa
      @andreiIupsa Місяць тому

      Good point! Gotta do some sanitization first. Edit: On second tought.. can they?

    • @AshishBeck
      @AshishBeck Місяць тому

      ​@@andreiIupsa you're wrapping your evaluation inside the hard-coded "math.evaluate(...)" so I think you're good to go. Doesn't matter now if you let the user input whatever shenanigans they want to as they are restricted by the function.

    • @user-lj4lo7cx7m
      @user-lj4lo7cx7m Місяць тому

      ​@AshishBeck what about );console.log(1

    • @AshishBeck
      @AshishBeck Місяць тому

      @@user-lj4lo7cx7m how will you get outside of the enclosing paranthesis (...) but?

    • @AshishBeck
      @AshishBeck Місяць тому

      @@user-lj4lo7cx7m you cannot escape the paranthesis around math.evaluate() though, right?

  • @felix_arg984
    @felix_arg984 Місяць тому

    This is quite pragmatic and smart🙌 Another language that you could try out would possible be rust, there is a crate called meval which should do the same and with the flutter rust bridge you should be able to easily run it on all platforms quite performantly :) But if it works in JS, that‘s the important thing that matters.

  • @wraith3108
    @wraith3108 Місяць тому

    Man this is how you are supposed to tell about your journey of the framework. Every tech has their ups and downs and how you are supposed to tackle the downs in a tech is what is needed. Rather than just complaining about it. Seriously, I loved your video and your way of delivery.

  • @gauravjoshi747
    @gauravjoshi747 Місяць тому

    can you open source it so that we can learn and contribute to it

  • @nonefvnfvnjnjnjevjenjvonej3384
    @nonefvnfvnjnjnjevjenjvonej3384 Місяць тому

    would react native be a better choice here? for easier js interop?

    • @TahiruAgbanwa
      @TahiruAgbanwa Місяць тому

      JS interop is only needed for flutter web and not mobile or desktop. But to answer ur question, react native uses js so why do you need a js interop package. just install the package an use it. There is no better choice here, if it works it works except in RN it would have been more straight forward.

  • @TahiruAgbanwa
    @TahiruAgbanwa Місяць тому

    This is really smart to think about. I have never used a JS package in flutter. This unlocks a lot of possibilities

    • @andreiIupsa
      @andreiIupsa Місяць тому

      Think about having snippets of code that you can change on the fly in your app. Can't think of a specific use case, but it's possible!

    • @BooleanDev
      @BooleanDev Місяць тому

      @@andreiIupsasome apps do that for website parsers so that they can update it quickly if it breaks

  • @derismekentz1
    @derismekentz1 Місяць тому

    most underated ending ever

  • @flutter-fm1kl
    @flutter-fm1kl Місяць тому

    Bro, please use a dark theme because the eye is important.

    • @andreiIupsa
      @andreiIupsa Місяць тому

      Can't stand it, unfortunately..

    • @gaxkiller
      @gaxkiller Місяць тому

      @@andreiIupsa I can't stand bright theme but I understand some people prefer it, and since it SUPER easy to make dark + bright theme and switch between theme in flutter, I do this all the time :) Since you use riverpod, just define all your theme data in providers. How I do: - themeProvider -> returns a theme data, then other providers returning part of the theme. For the colorScheme: final colorSchemeProvider = Provider<ColorScheme>((ref) { final brightness = ref.watch(brightnessProvider); final colorSchemeSeed = ref.watch(colorSchemeSeedProvider); return ColorScheme.fromSeed( seedColor: colorSchemeSeed, primary: colorSchemeSeed, brightness: brightness, ).copyWith( surfaceTint: Colors.transparent, ); }); The brightness provider is super simple: final brightnessProvider = StateProvider<Brightness>((ref) => Brightness.light); Then from anywhere in the app, you can use the brightnessProvider to swtich between dark and bright. Of course, you have to use the colorSchemeProvider inside you theme provider to set the colorScheme for this to work

    • @asandax6
      @asandax6 Місяць тому

      ​@@andreiIupsa Use it only when recording.

    • @mikopiko
      @mikopiko 29 днів тому

      Does white theme hurt the eyes?

    • @flutter-fm1kl
      @flutter-fm1kl 29 днів тому

      @@mikopiko yeah for me

  • @ebitdaddyca3676
    @ebitdaddyca3676 Місяць тому

    Nice format, nice editing, nice app

  • @gofullstack
    @gofullstack Місяць тому

    To initialise this ones on start-up I'll prefer to do this instead class Math { static JavascriptRuntime? _instance; static void initialize() async => _instance ??= await _initialize(); static Future<JavascriptRuntime> _initialize() async { final library = await rootBundle.loadString("res/libraries/math.js"); final runtime = getJavascriptRuntime(); await runtime.evaluateAsync(library); return runtime; } static Future<dynamic> evaluate(String text) async { final result = await _instance?.evaluateAsync("math.evaluate('$text')"); return result?.rawResult; } } This means you don't need to call evaluate for any reason again unless required because "Math.evaluate("1+1");" becomes "Math.initialize();" and you’ll have your JS Runtime initialised before your user needs it.

  • @thecigaroman
    @thecigaroman Місяць тому

    If you had a working java library I think you could try to run that via Dart FFI and JNIGen. At least it's worth prototyping I think.

  • @ahmadjz8144
    @ahmadjz8144 Місяць тому

    Since you're already using FFI for running other languages in Flutter, why did you choose JS? why not Python for example

    • @s.bamahfoodh
      @s.bamahfoodh Місяць тому

      Wait, do u mean that we can use libraries from different languages in flutter and it will just work???

    • @saiphaneeshk.h.5482
      @saiphaneeshk.h.5482 Місяць тому

      ​@@s.bamahfoodhwondering the same.

    • @ahmadjz8144
      @ahmadjz8144 Місяць тому

      Yeah you can say that, it's called FFI (Foreign Function Interface), it supports multiple languages even C

    • @ShivamJha00
      @ShivamJha00 Місяць тому

      Every language that has a C interop will work. I've seen some libraries using rust as well

  • @LukePighetti
    @LukePighetti Місяць тому

    not stupid, very smart and pragmatic. you have a high quality math engine with a few lines of code that will last forever and continue improving and evolving until the end of time

    • @andreiIupsa
      @andreiIupsa Місяць тому

      Building on this. Imagine having snippets of business logic that you can use inside your app and update instantly through a web service. Can't really think of a valid use case but it's possible.. 😁

    • @HazhanJalal
      @HazhanJalal Місяць тому

      ​@@andreiIupsa Building the app (AAB/APK) with shorebird can help you do that with pure Flutter as-well (the push updates directly part). Super easy too. You do your edits normally, change any codes you have, and with a single line from the terminal the app is updated on user's device next time they open it without requiring them to install any updates through any store. But it does have some limitations. For example Adding new resources Always requires sending new App package (AAB/APK), can't send those through patches. And also costs abit for large users-base apps. For smaller userbase (maybe a company's private own app) super useful and won't cost a dime.

  • @thelastbit8154
    @thelastbit8154 Місяць тому

    Thanks, I have some ideas for this 👌

  • @ISKLEMMI
    @ISKLEMMI Місяць тому

    You had a problem and you solved it in a manner that allows you to keep making progress. I count this as a victory. I'm fairly new to Flutter and had no idea you could do this. Thanks for sharing!