
Google Flutter and AWS Lambda for a serverless mobile app - dfirment
https://read.acloud.guru/serverless-application-with-flutter-lambda-aa0d264fbefd
======
cjoelrun
Flutter doesn't do what I feel React Native does best, rendering down to
native components for Android and iOS (also web/tvOS). Flutter seems to render
to custom view components so for better or worse your apps will probably look
the same on all platforms. It's interesting to see what projects Google is
using Flutter though, see
[https://en.wikipedia.org/wiki/Google_Fuchsia](https://en.wikipedia.org/wiki/Google_Fuchsia)

~~~
hliyan
I'm starting to love Flutter, but I'm afraid to invest in it -- Google has a
history of abandoning projects they get bored with. I took a long time to come
on board with Golang for the same reason...

~~~
bsaul
I'll jump to flutter once they have a convincing media player / recorder
native component as well as a google map equivalent. If this has good
performance on both iOS and android, with features comparable to native ones,
then i don't see what can stop them.

Unless Apple starts implementing its own cross-platform sdk in swift... But
judging by the slow pace at which swift is moving (compared to its "worl
domination" ambitions, that is), i don't think it'll happen anytime soon.

~~~
pjmlp
World domination in Swift's context means iDevices OSes, outside it will be
just like Objective-C has ever been.

------
nickbeukema
Curious of the community's opinion on this article that was sent to me today
on "Worst Programming Languages to Learn in 2018", with Dart being the #1. In
light of Flutter gaining some ground, would anyone think it would push back at
this conclusion?

[https://www.codementor.io/blog/worst-languages-to-
learn-3phy...](https://www.codementor.io/blog/worst-languages-to-
learn-3phycr98zk)

~~~
resource0x
My speculation is that those who marked it "the worst language to learn" never
actually tried it, and based their opinions on something they heard 3-5 years
ago. But now the dart is different and its goals are different. In any case, I
believe this kind of negative opinion is grossly unfair.

~~~
luhn
They based it off 3 metrics: Community, Growth, and Job Market. I'm not
surprised Dart is on the list. As good as the language may be, it remains a
fairly niche.

------
hoodoof
I became quite interested in Flutter recently but it was pretty much
impossible to find a range of good demo applications (or any demo
applications) that show off what it is capable of so I gave up. LOTS of
technical documentation however but nothing to sell me on using it.

~~~
timsneath
Yeah, we've got some work to do to fill out our set of examples. (Disclaimer:
I work on the Flutter team.)

\- There's a catalog of simple but official examples in the Flutter repo,
under the examples directory:
[https://github.com/flutter/flutter](https://github.com/flutter/flutter)

\- One Flutter user has contributed a pretty impressive list of examples and
learning resources here: [https://github.com/Solido/awesome-
flutter](https://github.com/Solido/awesome-flutter)

\- One of my personal favorite examples is this restaurant app prototype,
which is inspired by an Uplabs design:
[https://github.com/braulio94/menu_flutter](https://github.com/braulio94/menu_flutter)

~~~
hoodoof
If you say you have a beautiful, powerful, fast, full featured application
development system then you need to be able to SHOW me, and its gotta knock me
out in every possible way.

Nothing here at all for Flutter, just words.

~~~
VeryVito
Honestly, the best way to see the advantages of the toolset is to complete the
"Get started" section of flutter.io.

I develop iOS, Android, Web and Mac apps, and I was honestly blown away by the
quality of the intelliJ and VSCode plugins available for Flutter. In fact,
they've kinda ruined me for other language SDKs now.

Granted, the lack of material, demos and discussions makes it difficult to
tackle some problems, but that seems to be changing these days. It's hard NOT
to enjoy coding in Flutter, though, and I think that end up being its biggest
strength.

------
jeanlucas
No one here even mentions Firebase, why?

~~~
bastawhiz
Firebase gets expensive very quickly. And the interface it provides is
unfriendly to certain types of operations. In my own experience, I've never
kept an app on Firebase longer than it took to prototype the app.

~~~
jeanlucas
I don't see the expensive part, just some rumors, but never happened to me.
But I agree it's not that easy to use.

------
biocomputation
Also, where is the Flutter + GCE engine example? That's what interests me.

~~~
Harimwakairi
Can you give a little more detail about what you'd like to see? What would the
ideal example look like for you?

~~~
biocomputation
* I'd like to see an example of a single page app ( todo list or similar ) made with Flutter running on Google cloud hardware.

* Ideally this app would be designed for a desktop browser.

* I'd like to see examples of how to gracefully render this app on a mobile device.

* I'd like to see how to do the UI in a really data-driven way so that I supply something like JSON and the UI just renders.

------
CodeSheikh
Nice and very concise tutorial but it generously missed the entire AWS Lambda
section (and how much pain it is to work with, IAM setup, API gateway setup,
SDK support etc etc). Perhaps the author wanted the focus to be on Flutter and
less on backend (AWS Lambda in this scenario).

------
nevi-me
Flutter seems attractive, but the large build sizes are a showstopper for me
sadly. I hope they're able to improve this in future.

~~~
tomatsu
A release build of an Hello World app is around 7 MB.

~~~
thrownaway954
so... is that good or bad?

~~~
edf13
Bad - on the very bad side of things

~~~
sever
Why is that a problem? Phones have gigs of space.

~~~
pritambaral
Not all phones. And not that many gigs. And not all mobile networks have so
much data bandwidth. At least not where I am.

~~~
sever
Ah, I see. Well, FWIW it starts at 7 MB, and then I presume grows at the same
rate as a native app as it gets more complicated.

------
ec109685
“React Native reusable components”

What did that mean? Downside of flutter is you can’t use any non Flutter UI
control easily.

~~~
mephitix
Yeah this is weird. Maybe they meant "React Native- _like_ reusable
components". Flutter widgets take inspiration from React Native:

"Flutter widgets are built using a modern reactive-style framework which takes
inspiration from React Native. " \- [https://flutter.io/flutter-for-react-
native/#built-in-widget...](https://flutter.io/flutter-for-react-
native/#built-in-widgets)

~~~
xrd
Indeed. It's inspired by react (diffing algorithm to determine what to render)
but I saw nothing to indicate it can use react components inside flutter.

------
nzoschke
Very nice.

I’ve been working on Lambda apps in Golang too. Here’s a boilerplate app that
can help you get started and understand the pieces:

[https://github.com/nzoschke/gofaas](https://github.com/nzoschke/gofaas)

------
cutler
"Dart feels like Java". Great. Now we can have D2EE on the client and server.

~~~
resource0x
Based on my own experience, it doesn't feel like java at all. It is very easy
to learn for those who know java, or javascript, or C# etc - that's true. But
the "look and feel" is different. And it's not only the language - libraries
(e.g. collections) are very well designed. Just try it out- you will like it.
As for flutter - there are novel, original ideas in there. It's not a copy of
something else.

~~~
bschwindHN
Maybe "feels like" is too subjective but it absolutely feels like Java to me:

* Object-oriented with inheritance (sharing the same keywords such as 'class' and 'extends'

* Non-optional semicolons

* Constructors, method overriding, calling `super.whatever` in your overriden methods

* Presence of null

* A base Object class for all objects in Dart, with hashCode() toString() methods

These are mostly superficial observations, and it's not a criticism of the
language, but it certainly feels like Java to me, more than Scala or Go does.

~~~
fauigerzigerk
True, there are many similarities. But it seems to me that the author of this
article makes Dart appear even more like Java by ignoring Dart features and
idioms.

For instance, what's the point of those Java style getter methods in the Movie
class? These are public instance variables after all, and Dart has special
property syntax to transparently wrap instance variables if and when the need
arises.

I know next to nothing about Dart. So maybe there is a reason for this
weirdness. But I rather suspect that the author has written a lot of Java and
almost no Dart in his life.

