40 likes | 51 Views
Flutter seeks to offer a consistent experience across all modern devices and platforms. Read the blog to find out all the web-specific features Flutter brings to the forefront. https://webguruinfosystems.blogspot.com/2021/07/flutter-for-web-comprehensive-outline.html
E N D
Flutter for Web - A Comprehensive Outline The progress of Flutter in becoming a portable UI framework for building user-friendly applications across platforms reaches a milestone with the release of stable Flutter web support. Prior to this, it was a preferred framework for providing cross-platform mobile app development services. From now on, it can also be used for creating an interactive user experience on the web. After the release of Flutter 2.0, the community focuses on three types of app with the initial release of the web support: Single Page Apps Progressive Web Apps
Extending existing Flutter-based mobile apps to the web Today, we will take a look at how to leverage Flutter web support in your applications. Flutter for Web The new-age web platform is rich with various elements like access to the underlying operating system, offline and installation support, hardware-accelerated 2D and 3D graphics, and so on. Further, with the advancement in technology, web developers enjoy greater flexibility. Written in Dart (a language that provides JavaScript compilation), Flutter has always been one step closer to exploring the web. This encouraged the community’s vision to equip it as a wholesome and portable framework that can be used for both mobile and web application development. Architectural Pattern Flutter has a multilayer system with: 1. An engine that renders to the target device using the system APIs. 2. A framework that offers abstractions for idioms like gestures, animation, and widgets. Now, the framework has about 700,000 lines of core Flutter framework code that work across mobile and web platforms. Dart development compiler (dartdevc) or Dart deployment compiler (dart2js) is used for compiling the code into JavaScript. Flutter does not simply transpile to HTML equivalents of the widgets. Instead, the web engine of Flutter provides a choice of two renderers: 1. A CanvasKit renderer that uses WebGL and WebAssembly to render Skia paint commands to browser canvas. 2. An HTML renderer that is optimized for size and broad compatibility. We will explore more about these below. Enhanced Features to Optimize Flutter for Web Four key areas that are paid the most attention to include web-specific features, desktop form factors, performance, and plugins. Let’s explore these below: 1. Web-Specific Features
The web is preferred as an online destination due to its instant reach. One of the reasons to bring an existing Flutter app to the web is to reach out to the target audience outside of the app stores. Flutter, now, exhibits custom URL strategies to ensure that the users can reach your app with a click of a URL. You have full control over the URL displayed in the address bar along with the routing of an app on the web. A hyperlink is crucial to navigating the web. The new link widget in the url_launcher package allows the users to deep-link to anchors within an app or to external websites. If you hire Flutter developers, they can link relevant widgets inline text, buttons, images, and specify if the link opens in a new tab or the same tab. Rendering is yet another integral part of any app. A canvas-based text measurement system is added t support both plain and rich text. It reduces the cost and expense of performing various measurements on the paragraph by triggering the command layout (). Flutter is able to perform detailed measurements along with painting highlight boxes properly on selected text. 2. Desktop Form Regardless of the size and shape of the browser window, Flutter web apps seek to offer an optimal user experience. On mobile browsers, the web apps offer top-notch UX scrolling and gestures from mobile app support. However, desktop browsers have different UI elements and Flutter is updated accordingly. For instance, users expect to control the scrollbar by the keyboard and mouse. The new customizable interactive scrollbar supports a theme and allows the users to scroll by dragging a thumb. Flutter also has increased content density as the mouse pointers support enhanced density than any touch device. Further, a superset of the system mouse cursor is added to the framework to support diverse platforms. 3. Performance To render intensive graphics, CanvasKit allows rendering Skia paint commands in the browsers using WebGL and WebAssembly. Now, Flutter supports both of the following rendering modes: CanvasKit renderer: it is consistent with Flutter desktop and mobile apps. It exhibits faster performance with enhanced widget density. It has about a 2MB download size. HTML renderer: It uses a combination of CSS, HTML, SVG, and Canvas element. It has a smaller download size.
4. Plugins Some popular plugins can be utilized while bringing an existing Flutter app to the web. These plugins allow a code to interact with native libraries for each platform. The plugin support is provided for the following: Google Maps Image Picker Connectivity Cloud Firestore Firebase Storage Firebase Analytics Cross File Cloud Functions As you can see, Flutter seeks to offer a consistent experience across all modern devices and platforms. If you are looking to engage a professional app development company in India to build a Flutter-based app at a competitive rate, it’s high time to do so. Resource: https://webguruinfosystems.blogspot.com/2021/07/flutter-for-web-comprehensive- outline.html ……………………………………………………………………………………………………… WebGuru Infosystems Y8, Block-EP, Sector V, Salt Lake, Kolkata-700091, India Website: https://www.webguru-india.com/ Email: enquiry@webguru-india.com Phone: +91-8420197208 Follow us on: