Flutter
1.
Google created.
2.
Open source Flutter software development framework
3.
create mobile applications for iOS and Android
from a single Dart codebase.
4.
Flutter utilizes Dart, object-oriented programming language optimized
specifically for developing mobile apps and web apps
a.
Dart code is compiled ahead of time into native
machine code using the Flutter compiler, enabling apps to achieve exceptionally
high performance.
5.
A standout feature of Flutter is its incredibly
fast hot reload functionality, which allows developers to experiment rapidly
and visualize changes in UI almost instantly without losing the application
state.
6.
create mobile app interfaces reflecting Google's
modern design principles using Material Design and Cupertino widgets.
7.
Flutter has a widget binding, namely
InheritedWidget. It binds two or more widgets together (one provider and some
consumers) so that whenever one updates, all of its dependencies are forced to
update too.
8.
Popular apps built using Flutter include
Hamilton Broadway Musical, Google Ads, eBay Motors, Groupon, Reflectly
meditation app, etc.
Pros
- · Single Dart codebase to build iOS and Android apps
- · Stateful hot reload enables instant visual updates without recompilation
- · Excellent performance powered by Dart's compiled machine code
- · Extensive catalog of customizable Material and Cupertino widgets
- · Increased software development speed and iteration facilitated by features such as hot reloading
- · Expressive and easy-to-learn Dart programming language
Cons
- · As a relatively new SDK, it has a smaller ecosystem of libraries and tools than older alternatives.
- · Restricted access to some exclusive platform-specific APIs and features
- · Primarily focused only on mobile app development, it is less suitable for web
- · Very few developers know the Dart programming language, leading to a talent shortage
- · Architectural changes and breaking updates are likely as the framework matures
Angular
1.
by Google
2.
web application development framework
3.
Angular apps are written in TypeScript, an
enhanced version of JavaScript that brings optional typing and other
improvements aimed at large-scale apps.
4.
The framework uses an MVC architecture style to
separate an app's concerns into distinct Models, Views, and Controller
components.
5.
two-way data binding, which automatically syncs
data between model and view
6.
dependency injection to manage relationships
between various app modules.
7.
Popular Angular sites include PayPal, NBC, UPS,
Lego, and Forbes.
Pros
- · The full-featured framework integrates a wide range of web functions
- · MVC architecture enables the separation of concerns
- · Powerful data binding(two-way) synchronizes model and view components
- · Extensive toolbox including testing suites, lint test
- · High focus on reusability and maintainability
- · Simplifies form building and form validation
- · The large community provides many reusable libraries
- Cons
- · Steep learning curve due to the vast API surface area
- · More complex compared to lighter-weight libraries like React
- · Bulkier apps due to a large framework codebase
- · Longer bootstrap and rendering times result from complexity
- · Demands strong TypeScript knowledge
- · Upgrades between versions may require significant rework
React
1.
by Facebook
2.
open-source JavaScript front-end library
3.
use to build interactive user interfaces and web application
front-ends
4.
React aims to simplify the development of complex, changing
data flows in web UIs
5.
React builds on basic HTML/CSS/JS to provide a declarative
component model.
a.
UIs are broken into encapsulated, reusable pieces called
components.
6.
Components use a templating language called JSX that
resembles HTML to render content, can have a local state, and update
dynamically in response to data changes.
7.
Events triggered from one component bubble up to notify
parent components automatically through a unidirectional data flow
paradigm. ( first the model state is updated, and then it renders the change in
the UI element. )
8.
Virtual DOM tracking of changes combined with selectively
re-rendering only components that change enables very high performance compared
to raw JavaScript ops.
a.
This helps power data-intensive apps like Facebook and
Instagram that show constantly updating content flows.
9.
Popular Apps
Facebook, Airbnb, Uber, Netflix, Instagram, WhatsApp,
Dropbox etc.
Pros
- · Promotes reusability via encapsulated components
- · Components offer separation of concerns
- · Virtual DOM provides excellent performance gains
- · Unidirectional data flow simplifies data handling logic
- · The large open-source ecosystem of reusable React component libraries
- · Easy integration into existing codebases
- · The growing developer community provides abundant support resources
Cons
- · Only handles the view layer, not a complete framework
- · Many auxiliary libraries are needed for complex apps (routing, state management)
- · Code complexity from JSX and nested component trees
- · Steep learning curve mastering inner workings like state and lifecycle
- · Rapid evolution means breaking API changes, which is not uncommon
- · Less out-of-box project scaffolding sets up
Tech
Stack
Flutter uses the Dart programming language and
provides its robust widget set for building mobile interfaces. This allows it
to compile code into native machine code for excellent performance.
Angular utilizes TypeScript, a typed superset of
JavaScript and HTML and CSS, for building responsive web applications. It
compiles down to plain JavaScript code to run in browsers.
React Native is based on the React JavaScript library
and uses the same paradigm of components. It compiles code to native UI
components while communicating with native code through a JavaScript bridge.
Learning
Curve
Flutter offers a moderately easy learning curve for
developers with prior experience in object-oriented code and mobile
development. Its declarative widget-based approach is intuitive.
Given the complexity of its technology stack, Angular has a
rather steep learning curve, including TypeScript, components,
directives, services, dependency injection, and hierarchical injectors.
React Native is moderately easy to get started with
for JavaScript developers who understand React concepts like components,
states, and props. However, bridging to native code can have a learning
curve
Flutter
vs Angular vs React: The Ultimate Showdown [2024] (simplilearn.com)
https://www.javatpoint.com/angular-vs-react
https://stackoverflow.com/questions/52590759/does-flutter-have-data-binding
No comments:
Post a Comment