No-Code is Trash
Summary
TLDRThis video script challenges the 'no code' concept, arguing that the goal should be building great products, not minimizing code. It introduces Flutter Flow as a visual development platform that offers a balance between ease of use and customization, with low abstraction for direct widget control. It emphasizes that Flutter Flow is not about hiding code but providing a better interface for development, including features like seamless collaboration and developer enhancements, while maintaining control and ownership over the code.
Takeaways
- 🔍 The script discusses the misconceptions around 'no code' and 'low code' development tools, emphasizing that the goal should be building great products, not just writing less code.
- 🚗 The analogy of the car being invented not for a 'no horses' movement is used to illustrate that the purpose of development tools is to facilitate building, not to eliminate code altogether.
- 🛠️ The speaker argues that the best interface for building applications may not be text-based, suggesting a more visual and interactive approach could be superior.
- 🎨 Flutter Flow is introduced as a 'visual development platform' rather than a 'no code' tool, aiming to provide a richer experience for most development needs.
- 🔑 Two main issues with the term 'no code' are identified: the wrong focus on reducing code rather than improving product development, and the association with poor performance and lack of customization.
- 🔄 The importance of abstraction level in development tools is highlighted, with Flutter Flow positioned as a low abstraction interface that corresponds closely with the underlying code.
- 🛡️ Flutter Flow is designed to provide fine-grained control and customization while maintaining ease of use, differing from high abstraction platforms that sacrifice these for simplicity.
- 🔄 The script explains that Flutter Flow enhances developer productivity by automating common setup tasks, allowing more time for customization and unique features.
- 🤝 Collaboration and deployment with Flutter Flow are streamlined, with the ability to share work through URLs and deploy across platforms without complex setups.
- 🛑 The platform offers developer enhancements on top of Flutter, such as support for enums in Firestore and automatic schema generation from API responses.
- 🏛️ Control and ownership over the code are emphasized, with Flutter Flow giving developers full access to widget properties and the ability to export custom code as their intellectual property.
Q & A
What is the main issue with the term 'no code' according to the video?
-The main issue with the term 'no code' is that it incorrectly focuses on writing less or no code as the goal, rather than focusing on building great products efficiently and intuitively.
Why is the invention of the car a relevant analogy for discussing 'no code' tools?
-The invention of the car is a relevant analogy because, like 'no code' tools, the car was not about the 'no horses' movement but about providing a better, more efficient way to travel. Similarly, 'no code' tools should be about better product development, not just reducing code.
What is the historical decision in computing that the video suggests reevaluating?
-The video suggests reevaluating the historical decision that an ASCII character set is the best interface for building applications, proposing that perhaps a more visual, app-based interface could be superior.
What does the video propose as a better development interface for building apps?
-The video proposes that the development interface should be more visual, possibly using shapes, icons, and a user interface that allows for immediate property adjustments and visual logic flow.
What is the second issue with the term 'no code' discussed in the video?
-The second issue with 'no code' is that it is associated with poor performance, lack of scalability, and customization issues, often due to high levels of abstraction in no code platforms.
How does Flutter Flow differ from other 'no code' platforms in terms of abstraction?
-Flutter Flow differs by offering a low abstraction interface, meaning that its buttons and widgets correspond closely with the underlying Flutter API, allowing for more direct control and customization.
What are the five key aspects of Flutter Flow as a visual development platform?
-The five key aspects are: 1) A visual interface for real-time app development, 2) Core setup for common features like authentication and routing, 3) Seamless collaboration and deployment, 4) Developer enhancements on top of Flutter, and 5) Control and ownership over widget properties and custom code.
Why does the video suggest that 'low code' or 'no code' is not the right question to ask about Flutter Flow?
-The video suggests that the level of abstraction is the right question to ask, as Flutter Flow is designed to provide a balance between ease of use and fine-grain control, rather than simply reducing code.
How does the video describe the balance between customization and ease of use in application development?
-The video describes a continuum of abstraction in application development, with machine code and platform APIs at one extreme offering high customization but difficulty, and high abstraction platforms offering ease of use but less customization. Flutter Flow aims to balance both on this continuum.
What is the technological progression philosophy presented in the video regarding application development?
-The video presents a philosophy of technological progression where mastering lower-level technologies allows for the creation of higher-level abstractions that are both powerful and user-friendly, using the evolution of the car as an example.
How does Flutter Flow address the issue of custom functions and widgets not being provided?
-Flutter Flow addresses this by providing built-in support for custom functions and widgets, ensuring that developers have the fine-grain control needed to create complex and expressive applications.
Outlines
🛠️ Misconceptions About No-Code Development
The first paragraph addresses the misconceptions surrounding no-code and low-code development. It argues that the goal of development should be to build great products, not to write less code. The speaker criticizes the term 'no-code' as a goal, comparing it to the 'no horses' movement that was not the goal of the car invention. Instead, the focus should be on finding the best interface for building applications, which historically has been the ASCII character set. The speaker suggests that as technology progresses, we should reconsider what the best interface might be, hinting at a more visual and intuitive approach to app development.
🌐 Introducing Flutter Flow: A Visual Development Platform
The second paragraph introduces Flutter Flow as a visual development platform that challenges the traditional no-code narrative. It outlines five key aspects of Flutter Flow: a visual interface that allows for real-time app building and widget manipulation; core setup automation for common app features like authentication and routing; seamless collaboration and deployment capabilities; developer enhancements on top of Flutter, such as support for enums and automatic schema generation; and control and ownership over the code, with the ability to export and continue development elsewhere. The speaker emphasizes that Flutter Flow is not a no-code platform but rather a tool that provides a balance between ease of use and customization, positioning it as a middle ground on the abstraction continuum of application development tools.
Mindmap
Keywords
💡No Code
💡Low Abstraction Interface
💡Flutter Flow
💡Visual Development Platform
💡Abstraction Level
💡Technological Progress
💡Customization
💡Scalability
💡Boilerplate Code
💡Developer Enhancements
Highlights
The term 'no code' is a misnomer; the goal is to build great products, not to write less code.
No code tools are often criticized for poor scalability, performance, and customization, but these issues stem from high abstraction levels.
Flutter Flow is a visual development platform that provides a richer experience for most development needs.
The best interface for building applications might not be text-based but could involve visual elements and interactions.
Flutter Flow is designed as a low abstraction interface, offering a direct correspondence between app elements and Flutter API widgets.
Writing less code is a byproduct, not the goal; the focus should be on providing an intuitive and efficient interface.
The invention of the car wasn't about the 'no horses' movement, just as no code shouldn't be about writing no code.
Technology has progressed, but the decision to use an ASCII character set for building applications hasn't been questioned.
Flutter Flow enhances developer experience by handling boilerplate code and common features like authentication and routing.
Seamless collaboration and deployment are enabled through Flutter Flow, allowing for easy sharing of demos and development.
Flutter Flow provides developer enhancements on top of Flutter, such as support for enums in Firestore.
Automatic schema generation in Flutter Flow allows for the creation of data models from API responses.
Flutter Flow offers fine-grain control and customization without being opinionated, exposing widget properties and supporting custom functions and widgets.
Flutter Flow is positioned in the middle of a continuum of abstraction, balancing ease of use with granular control.
The platform allows for code export and continued development elsewhere, ensuring ownership of the intellectual property.
Flutter Flow is the next iteration in application development, moving from a command line interface to a more intuitive graphical interface.
Technological progress is about mastering lower-level technologies to build the next layer, as seen in the evolution from compilers to higher-level programming languages.
Flutter Flow represents the future of application development, offering a visual, intuitive, and powerful development experience.
Transcripts
let's talk about low code no code he
built it all with no code is it going to
put my freelancing career on hold
because now companies can build things
with no code today we're going to build
an app all in 24 hours for real and with
no code no code at development is a trap
flutter flow is often described as a no
code tool but we hate that so in this
video I'm going to tell you what's wrong
with the term no code and no code tools
and then explain what flutter flow
actually is and there are two m things
that are wrong about the term no code
first wrong Focus we've never had a
conversation like hey our users are
writing too much code we need to stop
that our goal is to help people build
great products and we do that by
providing an intuitive and efficient
interface writing less code is a
byproduct of the goal not the goal
itself writing less code or no code has
never been the goal it's kind of like
how the invention of the car wasn't
about the no horses movement and there
are some parts of building great
products where code is the best
interface for it you see long ago in the
anals of computing history it was
decided that the best interface for
building applications was an asy
character set and there were reasons and
constraints for why that was but as
technology has progressed we haven't
question that decision but think about
it forget everything you know about
coding and ask yourself what's the the
best interface for building apps should
we use letters sure numbers yeah colors
well yeah that's like syntax
highlighting what about popups
contextual menus that give you options
to complete what you started writing oh
yeah you mean autoc completion yeah what
about shapes maybe we take that
autocomplete menu and give it some more
legible icons and you're building an app
that has a user interface so maybe the
app itself would be a better interface
than just letters this way you could
select an element and immediately see
all its properties or when you want to
execute some logic you can simply add an
action and Visually see the execution
flow you see it's so obvious it's been
under our noses the entire time the
interface of the app should be included
in the app development interface this is
the same movement from a command line
interface to a graphical user interface
when the graphical user interface was
developed the goal wasn't about writing
fewer characters but about what's the
best interface for doing things like
exploring files and folders moving them
around opening them and it turns out
that for many operations having a 2d
canvas with a free floating cursor or
what we now call a mouse is extremely
powerful we started with just text and
over the years we keep add adding
additional elements to the app
development interface and why would we
think that we're done flutter flow is
the next step in that progression a
visual development platform that
provides a richer experience for most
development needs okay that's the first
reason the second reason is Bad Company
no code Garners both the highest praise
and the lowest disdain and the disdain
is often earned the critics will say
that no code doesn't scale has terrible
performance and inability to customize
and produce spaghetti code and to be
honest they're often right but there's
one critical distinction between flutter
flow and those apps the level of
abstraction that is SAS applications
that don't scale have terrible
performance and lack customizability are
typically High abstractions that means
that the buttons in the app are far away
from what the code is doing under the
hood typically this means that the
buttons in the app will have really
userfriendly names like fill the screen
or move to the right but the underlying
code is often verbose and griddle
flutter flow is designed as a low
abstraction interface this means that
the buttons and widgets in our app
corresponds often one to one with the
underlying widgets in the flutter API so
if you drop in a container widget and
inspect the code it's just a flutter
container a column is just a column far
from trying to hide the underlying
technology we surface it it's literally
in our name flutter flow so the question
to ask is not low code or no code but
what's the abstraction level okay so if
flutter flow is not a no code platform
then what is it well we like to call it
a visual development platform and this
involves Five Points first a visual
interface we want to create the next
iteration of the development interface
this allows you to see your app in real
time visually select widgets navigate
through your widget shf and find and set
widget properties second core setup like
it or not 80% of a developer's time is
spent on boiler plate setting up
authentication routing and localization
for many of these common features that
every app has flutter flow takes care of
it you can think about this as the next
iteration of Auto completion this gives
you back your time so you can spend it
on more fine grain customization where
your skills are best used third seamless
collaboration and deployment flutter
flow allows you to start building
immediately without having to handle
local setup SDK installation or package
management you can simply hop on the web
and start developing this also means
that sharing demos and collaborating can
be done with a simple URL no setup
required and when it's time to deploy
flutter flow combines both both the
power of flutter crossplatform app
generation to produce native binaries
for web IOS and Android as well as
deployment pipelines with code magic for
mobile apps and Google Cloud servers for
web deployment fourth developer
enhancements as a layer on top of
flutter flutter flow provides a number
of developer enhancements you can think
of us like typescript to JavaScript
we're not only trying to provide the
best low abstraction interface but to
add additional enhancements for instance
here's two fir store doesn't natively
support enums as a data type our users
wanted them so we added support of
course this is not a feature in fire
store so if you look at your collection
that enum will just be a strand but
flutter flow will ensure that wherever
enums are used in your application they
will safely follow the type definition
or second automatic schema generation
when you make an API call and receive
back the response you can drop drop that
Json into flutter flow and it will
automatically create the data model OKAY
Fifth and final Point control and
ownership as a low abstraction interface
we expose almost every widget property
and most of the commonly used widgets
this means that you have fine grain
control to design complex and expressive
applications without having to work
within an opinionated framework and a
flutter flow doesn't provide the widgets
you need we have built-in support for
custom functions and widgets and all
that code you write individual platform
you own it's your intellectual property
and if you want to export it and
continue to development or deployment
elsewhere you're free to do so okay so
here's how I think about the big picture
flutter flow is balanced in the center
of two extremes think about tools for
building applications on a Continuum of
abstraction on the lowest level you have
things like machine code and platform
apis like graphics apis and while you
have a high degree of custom imization
they're really difficult and slow to
work with on the highest level of
abstraction you gain ease of use and
speed but give up customization and
scalability but right in the middle
there's a balance where you have both
granular control and ease of use and
this is honestly what makes describing
flutter flow so difficult because
depending on who you are and what your
role and questions are communicating
what flutter flow is will be different
to a developer who says why don't you
just write the code we say flutter flow
is simply the next step in the great
tradition of technological progress
because technological progress has
always been about mastering lower level
Technologies and then building the next
layer one abstraction layer above early
in Computing many were building
compilers because everyone knows real
programmers write compilers almost no
one today is building compilers this is
just technological iCal progress for
instance think about the car to get to
the higher level abstraction technology
of the car we first had to master the
lower levels of rubber metal eny glass
electricity and the combustion engine
but once we could design those lower
levels we can move up to the next level
and create that great machine the car
but to the higher level abstraction
person thinking that flutter flow is
just another no code platform that
misunder understands the goal in the
design of flutter flow that is that it's
designed as a low abstraction to give
users access to lower level Technologies
but with a visual interface designed for
ease of use that's flutter flow balanced
right in the middle so welcome to the
Future the next iteration of application
development welcome to flutter flow
تصفح المزيد من مقاطع الفيديو ذات الصلة
What is Pseudocode? An Introduction.
Machine, Assembly & High-Level Programming Languages
Buildship + FlutterFlow - THE ONLY 2 NO-CODE TOOLS YOU NEED TO BUILD AN APP
Flutter Basic Training - 12 Minute Bootcamp
Flutter Crash Course #6 - Widgets
What Is Version Control? | Git Version Control | Version Control In Software Engineering|Simplilearn
5.0 / 5 (0 votes)