<?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>Forem: Rijin Reji Thomas</title>
    <description>The latest articles on Forem by Rijin Reji Thomas (@real_rijin).</description>
    <link>https://forem.com/real_rijin</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%2F417355%2Fa02c49a2-d5fb-4b4e-a2ae-d3fec411374d.jpg</url>
      <title>Forem: Rijin Reji Thomas</title>
      <link>https://forem.com/real_rijin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/real_rijin"/>
    <language>en</language>
    <item>
      <title>Got rejected from my first interview. </title>
      <dc:creator>Rijin Reji Thomas</dc:creator>
      <pubDate>Sat, 05 Dec 2020 19:14:41 +0000</pubDate>
      <link>https://forem.com/real_rijin/got-rejected-from-my-first-interview-961</link>
      <guid>https://forem.com/real_rijin/got-rejected-from-my-first-interview-961</guid>
      <description>&lt;p&gt;05/12/2020, the day I appeared for my first interview and got rejected! So, it was the first campus placement (could be the last one too) in our college and I was very much excited that I'll get this one for sure. There were 5 rounds which included Aptitude and Coding, Group Discussion, Technical Interview, Managerial Interview, and HR Interview. I found the first round to be easy as I got 9/10 answers right and in the coding section almost all my test cases ran. Out of 211 students only 17-18 students qualified for the next round and only 11 for the 3rd round i.e. Technical Interview.&lt;/p&gt;

&lt;p&gt;So, here's what happened in the 3rd round. A zoom call was scheduled and the interviewer asked about my projects and stuff. Then he asked me a few questions regarding OOPS and SQL. Now! he gave me a program to execute where two lists were given and I had to print the number which was present in list1 and not in the list2. Sounds easy right? It was! I wrote the code in python (on zoom whiteboard) and I was very enthusiastic as the program was too easy. But after writing the code in Python, he said, now write it in C or Java. No problem right? as the logic was clear, but!!! I've been using python for almost everything and I was habitual of the no curly braces, no semicolon stuff. I started writing code in C and I did the silliest mistakes. I didn't close the curly braces at some point (I mean it's kind of compilers job) and I even forgot semi-colons after certain statements. At that point, I realized that I screwed up and that was it. I got rejected!&lt;/p&gt;

&lt;p&gt;I'm actually very bummed out because of such silly mistakes which led me to get rejected and because of the pandemic, not many opportunities are available and if there are, then most of them are underpaid. &lt;/p&gt;

&lt;p&gt;So, my question is, how can I improve myself? and if you can share how you handled rejection then it would be quite helpful for me.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
    </item>
    <item>
      <title>7 must know Flutter packages for beginners</title>
      <dc:creator>Rijin Reji Thomas</dc:creator>
      <pubDate>Tue, 24 Nov 2020 09:37:09 +0000</pubDate>
      <link>https://forem.com/real_rijin/7-must-know-flutter-packages-for-beginners-50b2</link>
      <guid>https://forem.com/real_rijin/7-must-know-flutter-packages-for-beginners-50b2</guid>
      <description>&lt;p&gt;As Flutter is gaining traction, more and more developers are trying to learn and understand this new framework. Flutter is easy as compared to android, it saves a lot of development time and also helps in implementing complex designs easily. But wait, how do you implement native features such as accessing the device camera or using location services in flutter? Sounds complex doesn't it? Well thankfully, Flutter supports shared packages contributed by other developers which can be used in Dart and Flutter ecosystem. So, instead of writing a code for a functionality from scratch, you can use a package which does the same thing, saving your valuable time!&lt;/p&gt;

&lt;p&gt;Packages are very much similar to libraries, saving a lot of your precious time. The following list contains 10 packages which every Flutter developer must know!    &lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/eYp5zQ5GX0PUXM47u1/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/eYp5zQ5GX0PUXM47u1/giphy.gif" alt="Let's do this"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. dio
&lt;/h2&gt;

&lt;p&gt;Most of the time while developing an application, we need to send some http requests to get some data or sometimes post some data. Dio is a powerful Http client for Dart, which supports Interceptors, Global configuration, FormData, Request Cancellation, File downloading, Timeout etc.&lt;/p&gt;

&lt;p&gt;And it's super simple to use!&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dio/dio.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;getHttp&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="kd"&gt;async&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;Response&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;Dio&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To know more about this package: &lt;a href="https://pub.dev/packages/dio" rel="noopener noreferrer"&gt;Click here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. location
&lt;/h2&gt;

&lt;p&gt;Want to access the location of the user? then, location is the package that solves this problem.&lt;/p&gt;

&lt;p&gt;Example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:location/location.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="n"&gt;currentLoc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;Location&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getLocation&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;currentLoc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;latitude&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;currentLoc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;longitude&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also use it for displaying maps in your application, but you'll have to have the Google Maps API key for this functionality to work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FLyokone%2Fflutterlocation%2Fmaster%2Flocation%2Fsrc%2Fdemo_readme.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FLyokone%2Fflutterlocation%2Fmaster%2Flocation%2Fsrc%2Fdemo_readme.gif" alt="Maps"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To know more about this package: &lt;a href="https://pub.dev/packages/location" rel="noopener noreferrer"&gt;Click here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. image_picker
&lt;/h2&gt;

&lt;p&gt;Developing apps require various functionalities such as taking a new picture using a camera or uploading an existing image from the gallery. Image_picker is a plugin for iOS and Android for picking images from the image library, and taking new pictures with the camera.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:image_picker/image_picker.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;File&lt;/span&gt; &lt;span class="n"&gt;_image&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="n"&gt;picker&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ImagePicker&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="n"&gt;Future&lt;/span&gt; &lt;span class="n"&gt;getImage&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="kd"&gt;async&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="n"&gt;pickedFile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;picker&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getImage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kn"&gt;source&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;ImageSource&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;camera&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="n"&gt;setState&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pickedFile&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;_image&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;File&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pickedFile&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'No image selected.'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To know more about this package: &lt;a href="https://pub.dev/packages/image_picker" rel="noopener noreferrer"&gt;Click here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. sqflite
&lt;/h2&gt;

&lt;p&gt;Flutter doesn't have a built-in abstraction for accessing the SQLite Database. So using sqflite package, you can access the SQLite database in both Android and iOS. The popularity of this package is 100%, so its is a well managed package.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="n"&gt;databasesPath&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;getDatabasesPath&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;databasesPath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'demo.db'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="n"&gt;Database&lt;/span&gt; &lt;span class="n"&gt;database&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;openDatabase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nl"&gt;version:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nl"&gt;onCreate:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Database&lt;/span&gt; &lt;span class="n"&gt;db&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;version&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="kd"&gt;async&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// When creating the db, create the table&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;db&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="s"&gt;'CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, value INTEGER, num REAL)'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To know more about this package: &lt;a href="https://pub.dev/packages/sqflite" rel="noopener noreferrer"&gt;Click here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. cached_network_image
&lt;/h2&gt;

&lt;p&gt;Loading images from the internet can take some time and because of which the user experience might not be that pleasant. It's always a nice idea to show a placeholder when the image is loading. Cached_network_image helps with this problem. Not only does it helps to provide a placeholder, but also stores the image in the cache, so whenever the user opens the application again, the image will be loaded from the cache which takes literally microseconds.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="n"&gt;CachedNetworkImage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nl"&gt;imageUrl:&lt;/span&gt; &lt;span class="s"&gt;"http://via.placeholder.com/350x150"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nl"&gt;placeholder:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;CircularProgressIndicator&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
        &lt;span class="nl"&gt;errorWidget:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;Icon&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Icons&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;error&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="p"&gt;),&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To know more about this package: &lt;a href="https://pub.dev/packages/cached_network_image" rel="noopener noreferrer"&gt;Click here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. path_provider
&lt;/h2&gt;

&lt;p&gt;File handling is one major feature while developing an application. There may be instances where the application needs to download a data and store it in your device. Path_provider helps you to get commonly used locations on the filesystem. You can access directories like Temporary directory, Documents directory, Downloads directory, etc and store files in these directories.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="n"&gt;Directory&lt;/span&gt; &lt;span class="n"&gt;tempDir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;getTemporaryDirectory&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;tempPath&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tempDir&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;Directory&lt;/span&gt; &lt;span class="n"&gt;appDocDir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;getApplicationDocumentsDirectory&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;appDocPath&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;appDocDir&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To know more about this package: &lt;a href="https://pub.dev/packages/path_provider" rel="noopener noreferrer"&gt;Click here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. local_auth
&lt;/h2&gt;

&lt;p&gt;This Flutter plugin provides means to perform local, on-device authentication of the user. This includes biometric authentication iOS and fingerprint APIs on android.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/dnvW7Ilz3iEg/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/dnvW7Ilz3iEg/giphy.gif" alt="Fingerprint"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To know more about this package: &lt;a href="https://pub.dev/packages/local_auth" rel="noopener noreferrer"&gt;Click here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Developers after knowing these packages be like:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/D7z8JfNANqahW/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/D7z8JfNANqahW/giphy.gif" alt="Strong"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;If this post was helpful then don't forget to like it and you can also add some more packages I might've missed out in the comments section.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect with me:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/rijin-thomas/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; &lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>android</category>
    </item>
    <item>
      <title>5 must-have VScode extensions for a Flutter developer </title>
      <dc:creator>Rijin Reji Thomas</dc:creator>
      <pubDate>Wed, 26 Aug 2020 13:47:46 +0000</pubDate>
      <link>https://forem.com/real_rijin/5-must-have-vscode-extensions-for-a-flutter-developer-4gmc</link>
      <guid>https://forem.com/real_rijin/5-must-have-vscode-extensions-for-a-flutter-developer-4gmc</guid>
      <description>&lt;p&gt;Back when VScode was introduced in 2015, everyone thought that it's just another editor, but Microsoft was very serious about it. They released monthly and some times weekly updates to their product, and that increased the popularity of the editor among the developers. Even now, the editor constantly receives updates (just 15 mins before writing this post) which makes this editor unique and everyone's favorite. Now, when we talk about VScode, we cannot deny the fact that it has some awesome extensions which can be very helpful for the developers. From theme extensions to code organizer, there are tons of extensions available on the VScode marketplace. So, if you're a flutter developer, here are 5 extensions you must have!&lt;/p&gt;

&lt;p&gt;I'm considering you have installed Flutter and Dart extensions. So, they won't be considered in this list.&lt;/p&gt;

&lt;h4&gt;
  
  
  So here's the list! &lt;br&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/F0QWePzwQRewM/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/F0QWePzwQRewM/giphy.gif" alt="List"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Awesome Flutter Snippets&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is an extension that is a collection of commonly used flutter classes and methods. This extension will help you increase the speed of the development as you can use shortcuts to create commonly used widgets. Widgets such as StreamBuilder and SingleChildScrollView can be created by typing the shortcut streamBldr and singleChildSV respectively. It's that easy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Bracket Pair Colorizer 2&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Flutter has brackets, a lot! Every Flutter developer knows how important brackets are and it can be cumbersome to manage all those brackets (especially if you are lazy like me ). Bracket Pair Colorizer 2 solves your problem! This extension allows matching brackets to be identified with colors, which means you can easily understand which bracket is closing where. It also makes your code looks beautiful. You can see how it works in the below image.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uUEr2B8Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hk56updu4gnhctvorwg0.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uUEr2B8Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hk56updu4gnhctvorwg0.PNG" alt="Bracket Pair Colorizer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Error Lens&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One of the most helpful extensions! It highlights the line containing diagnostics and prints the error inline and it can be used with any language!&lt;/p&gt;

&lt;p&gt;Here are some features of this extension:&lt;br&gt;
•Highlight lines containing diagnostics&lt;br&gt;
•Append diagnostic as text to the end of the line&lt;br&gt;
•Show icons in the gutter&lt;br&gt;
•Show message in the status bar&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lPSY9kYc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ghw48nv00wgc1e3rvz52.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lPSY9kYc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ghw48nv00wgc1e3rvz52.PNG" alt="Error Lens"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. Pubspec Assist&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Adding a dependency to the pubspec.yaml file can be boring and tiring. You always have to visit pub.dev and search for the dependency and then adding it to your pubspec.yaml file manually. So tiring, isn't it? Well, what if I told you that all this is possible inside vscode? Pubspec assist is the extension that solves this problem. It directly searches the dependencies directly from vscode and adds it to the pubspec.yaml file. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hDQ7ieA0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/83z9wqrw4i10gznzj5q7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hDQ7ieA0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/83z9wqrw4i10gznzj5q7.gif" alt="Pubspec assist"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5. Bloc&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;BLoC (Business Logic Component) is a reactive state management pattern. An extension available on pub.dev can be very helpful while writing codes. Still, there are lots of boilerplate code that you have to write. This extension helps you avoid those boilerplate codes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nKqcnekZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/13zcqywzrwvs2uqvkpka.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nKqcnekZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/13zcqywzrwvs2uqvkpka.gif" alt="Bloc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wanna share some cool extensions that I missed? Put it in the comment section, it will be helpful for everyone!&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Wanna help me out? :
&lt;/h2&gt;



&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/rijinthomas"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4qDiNSPF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.buymeacoffee.com/buttons/default-violet.png" alt="Buy Me A Coffee"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h3&gt;
  
  
  Connect with me:
&lt;/h3&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/real_rijin"&gt;https://twitter.com/real_rijin&lt;/a&gt;&lt;br&gt;
LinkedIn: &lt;a href="https://www.linkedin.com/in/rijin-thomas/"&gt;https://www.linkedin.com/in/rijin-thomas/&lt;/a&gt;&lt;br&gt;
Github: &lt;a href="https://github.com/rijin-23"&gt;https://github.com/rijin-23&lt;/a&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Developing Flutter apps for iOS without a Mac</title>
      <dc:creator>Rijin Reji Thomas</dc:creator>
      <pubDate>Tue, 18 Aug 2020 10:26:28 +0000</pubDate>
      <link>https://forem.com/real_rijin/developing-flutter-apps-for-ios-without-a-mac-2g1m</link>
      <guid>https://forem.com/real_rijin/developing-flutter-apps-for-ios-without-a-mac-2g1m</guid>
      <description>&lt;p&gt;Whenever we develop apps on Flutter on a windows machine, we always wonder, 'How will this app look like if we ran it on an iPhone?'. As most of us know that to develop apps for iOS, we need a Mac and some cross-platform mobile app developers like me cannot afford a Mac. So what can we do in such situations? Well, I have a solution for you. This article will help you to run Flutter apps for iOS without a Mac!!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/5cPl12FFqAaWI/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/5cPl12FFqAaWI/giphy.gif" alt="Are you serious?"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes! Indeed I am. Just follow these steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;: First of all visit &lt;a href="https://flutlab.io/"&gt;Flutlab.io&lt;/a&gt; and you will see an interface similar to this &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YO8KmJq---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7nznxl14mzmt4ep3o03m.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YO8KmJq---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7nznxl14mzmt4ep3o03m.PNG" alt="Flutlab UI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;: Create your account on Flutlab.io and then log in using your account so that you can upload your projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vG4Yn-mY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/b3iogbdtgo2odt7nm1zw.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vG4Yn-mY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/b3iogbdtgo2odt7nm1zw.PNG" alt="Flutlab Login"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;: Go to your profile and click on the &lt;em&gt;Upload Zip&lt;/em&gt; button on the navigation bar to upload your project. Make sure to give your project a suitable name. (*Note: Make sure to compress your project folder to a zip format, to upload the file)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rUGypGfs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p0zr536va9ey55clst7f.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rUGypGfs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p0zr536va9ey55clst7f.PNG" alt="Upload Zip"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt;: After uploading, select your project and you will be presented with the text editor where you can do some final changes, which is optional.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt;: Now, Click on the preferences option as shown in the image below and select the build target architecture as ios-debug from the drop-down menu and close the preferences tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cWozSrol--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pfogaugk88m1rvg0dwlt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cWozSrol--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pfogaugk88m1rvg0dwlt.png" alt="Preferences"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WzhCS8oq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/em038038glkx512eoabx.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WzhCS8oq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/em038038glkx512eoabx.PNG" alt="Target build"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6&lt;/strong&gt;: After selecting the target build architecture, it's time to build the project. Click on the Build project button and just wait for the project to build. Till then you can have a cup of coffee!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4jBLnSLk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nv2n5rzrhxeqgv9o64h3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4jBLnSLk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nv2n5rzrhxeqgv9o64h3.png" alt="Build Project"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7&lt;/strong&gt;: Yay!!! Now our build is ready to run! After the build is completed, you will see the Download iOS simulator bundle option. Click on the link and it will download the bundle.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Vz4MFNI3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8pey4fmqjvazu2plk2zp.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Vz4MFNI3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8pey4fmqjvazu2plk2zp.PNG" alt="Download bundle"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We're almost there!!! We now need a simulator for running this build. Now how can we run a simulator without a Mac? &lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/5WksjArWZT7jnT801G/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/5WksjArWZT7jnT801G/giphy.gif" alt="Ohh Man"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't worry, I got you covered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8&lt;/strong&gt;: Now for a free iPhone simulator, visit &lt;a href="https://appetize.io/"&gt;Appetize.io&lt;/a&gt;. Appetize.io helps the user to run native apps on your browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 9&lt;/strong&gt;: Now all we have to do is upload our build, which is a child's play. Just click on the Upload button to upload your build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10&lt;/strong&gt;: On the new page, click on the &lt;em&gt;select file&lt;/em&gt; button and upload your build file which will again take some time. Then, submit your email address below as the website will send you a link to the simulator to run. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5NZYVQKf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/evzwxl4hms9ofjr27cjl.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5NZYVQKf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/evzwxl4hms9ofjr27cjl.PNG" alt="Appetize.io"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 11&lt;/strong&gt;: Final step is to open your email, and you will receive a mail from Appetize.io. Click on the link and you will see an iPhone simulator. Just click on &lt;em&gt;Tap to Play&lt;/em&gt; and there you go!!! You just made your app for iOS without a Mac!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eC6FAEBt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vvcmlsjumvtjgs8ob5yz.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eC6FAEBt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vvcmlsjumvtjgs8ob5yz.PNG" alt="iOS App"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Time to celebrateeeee!!!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/YTbZzCkRQCEJa/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/YTbZzCkRQCEJa/giphy.gif" alt="Celebration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is my first post on Dev.to so if you have any ideas or recommendations on how I can improve, then please do share it in the comment section. See you next time ^-^&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>ios</category>
      <category>dart</category>
    </item>
  </channel>
</rss>
