<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Wolfiz Solutions</title>
    <description>The latest articles on DEV Community by Wolfiz Solutions (@wolfizsolutions).</description>
    <link>https://dev.to/wolfizsolutions</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F821525%2F5cd04cf6-7dfa-41c0-a948-f6da674f67a1.png</url>
      <title>DEV Community: Wolfiz Solutions</title>
      <link>https://dev.to/wolfizsolutions</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wolfizsolutions"/>
    <language>en</language>
    <item>
      <title>How To Set Up Firebase with Flutter for iOS and Android Apps?</title>
      <dc:creator>Wolfiz Solutions</dc:creator>
      <pubDate>Fri, 25 Feb 2022 05:27:23 +0000</pubDate>
      <link>https://dev.to/wolfizsolutions/how-to-set-up-firebase-with-flutter-for-ios-and-android-apps-5a8f</link>
      <guid>https://dev.to/wolfizsolutions/how-to-set-up-firebase-with-flutter-for-ios-and-android-apps-5a8f</guid>
      <description>&lt;p&gt;we know that adding some important features to your app like authentication &amp;amp; registration is a pain in the neck and you are probably looking for some final fix for your data storage and registration process for the flutter project, then this article is a must-read for you.&lt;/p&gt;

&lt;p&gt;Flutter is a rapidly growing technology in today's world. Each year we build abundant apps for our clients using Flutter. It allows us to develop cross-platform applications for all operating systems, however, it’s mostly used for Android and iOS. While developing different kinds of apps and software we often require authentication, registration (sign-in/sign-up), and data storage features, for instance in games you must save players' info and ranking. We generally use Firebase for this purpose, it’s also our team’s favorite tool to use with Flutter. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is FireBase?
&lt;/h2&gt;

&lt;p&gt;Firebase is a Google-backed application development software that allows developers to build iOS, Android, and Web apps. It provides tools for tracking analytics, reporting and fixing app crashes, creating marketing and product experiments. &lt;/p&gt;

&lt;p&gt;Recently, we’ve successfully integrated Firebase in one of our flutter game apps “&lt;strong&gt;The Werewolves Escape&lt;/strong&gt;” in which we have added a quick &amp;amp; smooth registration (sign-in/sign-up) process along with a leaderboard that keeps a record of players ranking and keeps the spirit of playing alive.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5MdOT6Ft--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3at0gdhsha73pswjqwtt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5MdOT6Ft--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3at0gdhsha73pswjqwtt.png" alt="Image description" width="750" height="1624"&gt;&lt;/a&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vxZiz0W2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e801qjrd4fg785htq1s9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vxZiz0W2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e801qjrd4fg785htq1s9.png" alt="Image description" width="750" height="1624"&gt;&lt;/a&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hkgtmb4B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lw6yd29ykq03uoqh2fsx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hkgtmb4B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lw6yd29ykq03uoqh2fsx.png" alt="Image description" width="750" height="1624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the registration process, we’ve used Firebase authentication that provides backend services, ready-made UI libraries, and easy-to-use SDKs. It helps to authenticate users to your app using special passwords, phone numbers, prevalent identity providers like Google, Twitter, Facebook, etc. &lt;/p&gt;

&lt;p&gt;Firebase Authentication strongly integrates with other Firebase services, and it leverages industry levels such as OAuth 2.0 and OpenID Connect, so it can be easily integrated with your custom backend.&lt;/p&gt;

&lt;p&gt;For the leaderboard, we’ve utilized Firestore which is a NoSQL Database like a real-time database, but the difference lies in the structure of data storage. Real-time database stockpiles data in a JSON tree.&lt;/p&gt;

&lt;p&gt;Here are some steps to create a new project on Firebase&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a project file in the Firebase console.&lt;/li&gt;
&lt;li&gt;Add two apps one for android and the other for IOS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For iOS&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Register the IOS app to firebase with the bundle id of the App&lt;/li&gt;
&lt;li&gt;Download Google Service-info for your app and add it to your project folder.&lt;/li&gt;
&lt;li&gt;Complete the next steps on the firebase console.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For Android&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Register your android app&lt;/li&gt;
&lt;li&gt;Download the config file google services.json and set it in the application module of an android project.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Create Database
&lt;/h2&gt;

&lt;p&gt;On the Firebase console from the left menu select the Database option to create a Cloud Firestore database. Select security rules for the database and then select test mode, it will make the database public, anyone can read and write to this database.&lt;/p&gt;

&lt;p&gt;In Cloud Firestore we have a collection. A collection can have any number of Documents, which contain data. It scales automatically. The current scaling limit is around 1 million concurrent connections &amp;amp; approx.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>programming</category>
      <category>android</category>
      <category>firebase</category>
    </item>
    <item>
      <title>How to add Rive animations in Flutter?</title>
      <dc:creator>Wolfiz Solutions</dc:creator>
      <pubDate>Fri, 25 Feb 2022 05:18:37 +0000</pubDate>
      <link>https://dev.to/wolfizsolutions/how-to-add-rive-animations-in-flutter-5ib</link>
      <guid>https://dev.to/wolfizsolutions/how-to-add-rive-animations-in-flutter-5ib</guid>
      <description>&lt;p&gt;Simple animations in Flutter are boring and obsolete, so let’s spice up the game and learn about a new tool that will change the whole landscape of your animations in any project. &lt;/p&gt;

&lt;p&gt;Yes, I am talking about Rive. So, let’s get started!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Rive?
&lt;/h2&gt;

&lt;p&gt;Rive, formally known as Flare, is a real-time interactive design and animation tool by 2 Dimensions that enables us to integrate awe-inspiring animations like a pro. Rive animations are platform-independent which means build once and utilize on multiple platforms. You can use this collaborative editor to construct motion graphics that react to different states and user intakes. Then upload your animations into Flutter apps, games, &amp;amp; websites with their weightless open-source runtimes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating Animations In Rive
&lt;/h2&gt;

&lt;p&gt;Rive offers an online editor/studio for designing animations. You can gain access to the Rive editor by visiting the official website. The Rive community has great potential and they always create something new. Plenty of pre-built animations is available for us to start diving into the captivating and interesting animated Rive world. You can use these straight or can modify them as per your needs.&lt;/p&gt;

&lt;p&gt;We’ve experienced Rive in one of our flutter projects “&lt;strong&gt;The Werewolves Escape&lt;/strong&gt;” a sliding puzzle game in which we have a character named Andrew. According to the plot Andrew got stuck in a deadly forest surrounded by werewolves and we have to play the game to make an escape for him. In this project, we have shown different emotions and physical movements of Andrew through Rive. His facial expressions are angry, sad, depressed, fearful, and weary, but as soon as he reaches the end, the expressions turn into a happy and excited person. With Rive, we also make his hands movement possible. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--goADaCMD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/di61quc32xh308jzmw7j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--goADaCMD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/di61quc32xh308jzmw7j.png" alt="Image description" width="326" height="1014"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GlbNh8Ov--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bokz4npb72f9zt5ax397.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GlbNh8Ov--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bokz4npb72f9zt5ax397.png" alt="Image description" width="496" height="956"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V_GS5wOI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b65flade67nswgp1v5vx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V_GS5wOI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b65flade67nswgp1v5vx.png" alt="Image description" width="527" height="1016"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Getting Started With Rive&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Getting started with Rive is straightforward. If you want to start from the base, just use the Rive console which is made for creating things from scratch. So, firstly let’s have a look at the primary controls of the Rive console.&lt;br&gt;
&lt;strong&gt;Bones&lt;/strong&gt;&lt;br&gt;
Bone components are used for moving your character which is much similar to a skeleton. Just build Bones and then attach them to the path and watch the wondrous magic. &lt;br&gt;
&lt;strong&gt;Nodes&lt;/strong&gt;&lt;br&gt;
Nodes are also one of the simple components of the console which enables transformations for instance rotation, scaling, and translation. You just need to select the Node and click on the specific place of your artboard to connect the node with any element. &lt;br&gt;
&lt;strong&gt;Solo&lt;/strong&gt;&lt;br&gt;
If you need frame-by-frame animation, the solo will be your must-have. They are pretty much similar to the Node but they add the feature to fast toggle its child visibility. Just like Node, click on the Solo element and put it anywhere in your artboard. Then select all elements which you want to place in Solo and then from the animate window, select which child to show in which frame, that’s all.&lt;/p&gt;

&lt;p&gt;It’s ascertained that Rive animations are effortless, robust, and maintainable. The integration is so easy and makes it truly possible to create a variety of intricate animations while sitting on a couch, can’t we?. &lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>programming</category>
      <category>rive</category>
      <category>flutter</category>
    </item>
  </channel>
</rss>
