<?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: Thomas Wilfred</title>
    <description>The latest articles on DEV Community by Thomas Wilfred (@thomaswilfred15).</description>
    <link>https://dev.to/thomaswilfred15</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%2F319106%2F5388b876-090f-4813-90d9-56f0f2fb5bde.jpg</url>
      <title>DEV Community: Thomas Wilfred</title>
      <link>https://dev.to/thomaswilfred15</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thomaswilfred15"/>
    <language>en</language>
    <item>
      <title>Should I learn Typescript before React?</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Sat, 17 Apr 2021 11:56:40 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/should-i-learn-typescript-before-react-397b</link>
      <guid>https://dev.to/thomaswilfred15/should-i-learn-typescript-before-react-397b</guid>
      <description>&lt;p&gt;The development world is quite famous for these short debates, whether to have knowledge of Typescript before React or vice-versa or is it better to have an understanding of React than Vue. So to clarify this confusion, we are writing this article to make your decision better.&lt;/p&gt;

&lt;h3&gt;What is Typescript&lt;/h3&gt;

&lt;p&gt;TypeScript is a programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript and adds optional static typing to the language. TypeScript is designed for the development of large applications and transcompiles to JavaScript. As TypeScript is a superset of JavaScript, existing JavaScript programs are also valid TypeScript programs.  &lt;/p&gt;

&lt;h3&gt;What is React&lt;/h3&gt;

&lt;p&gt;React (also known as React.js or ReactJS) is an open-source, front-end, JavaScript library for building user interfaces or UI components. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications. However, React is only concerned with state management and rendering that state to the DOM, so creating React applications usually requires the use of additional libraries for routing, as well as certain client-side functionality.&lt;/p&gt;

&lt;h3&gt;What should you learn first&lt;/h3&gt;

&lt;p&gt;To be fair, this is something which totally varies from person to person. Some may prefer learning Typescript before React or React before Typescript. But if you think about it, it's better to learn React before learning Typescript because it helps in understanding more frameworks and is more demand-rich in the industry.&lt;/p&gt;

&lt;p&gt;Thanks for reading. Hope this helps.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>typescript</category>
    </item>
    <item>
      <title>What are the most important Python libraries and packages for Data Science?</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Wed, 17 Feb 2021 14:03:46 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/what-are-the-most-important-python-libraries-and-packages-for-data-science-5ac9</link>
      <guid>https://dev.to/thomaswilfred15/what-are-the-most-important-python-libraries-and-packages-for-data-science-5ac9</guid>
      <description>&lt;p&gt;Data Science is something that has taken over our world with a flash. Take a look around and you'll notice that Data Science has taken over every field, be it technology or future predictions. Hence, it becomes important that you have a good understanding of Data Science. It will lead to better opportunities and development in the future.&lt;/p&gt;

&lt;p&gt;Since Data Science is a vast subject, it becomes important to understand every basic. The very basis for understanding Data Science is Python, a programming language. Now, a new question arises- How to learn Python and what are its libraries that play an important role in Data Science? &lt;/p&gt;

&lt;p&gt;In this article, we are gonna mention important libraries that would help you greatly.&lt;/p&gt;

&lt;h2&gt;What is Python&lt;/h2&gt;

&lt;p&gt;&lt;b&gt;Python&lt;/b&gt; is an interpreted, high-level and general-purpose programming language. Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.&lt;/p&gt;

&lt;p&gt;Python is dynamically-typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly, procedural), object-oriented and functional programming. Python is often described as a "batteries included" language due to its comprehensive standard library.&lt;/p&gt;

&lt;h2&gt;Important Libraries for Python&lt;/h2&gt;

&lt;p&gt;Now, let's see what are the important &lt;a href="https://codersera.com/blog/python-libraries/"&gt;Python libraries&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;TensorFlow&lt;/h3&gt;

&lt;p&gt;The first in the list of python libraries for data science is TensorFlow. TensorFlow is a library for high-performance numerical computations with around 35,000 comments and a vibrant community of around 1,500 contributors. It’s used across various scientific fields. TensorFlow is basically a framework for defining and running computations that involve tensors, which are partially defined computational objects that eventually produce a value.&lt;/p&gt;

&lt;h3&gt;SciPy&lt;/h3&gt;

&lt;p&gt;SciPy (Scientific Python) is another free and open-source Python library for data science that is extensively used for high-level computations. SciPy has around 19,000 comments on GitHub and an active community of about 600 contributors. It’s extensively used for scientific and technical computations because it extends NumPy and provides many user-friendly and efficient routines for scientific calculations.&lt;/p&gt;

&lt;h3&gt;NumPy&lt;/h3&gt;

&lt;p&gt;NumPy (Numerical Python) is the fundamental package for numerical computation in Python; it contains a powerful N-dimensional array object. It has around 18,000 comments on GitHub and an active community of 700 contributors. It’s a general-purpose array-processing package that provides high-performance multidimensional objects called arrays and tools for working with them. NumPy also addresses the slowness problem partly by providing these multidimensional arrays as well as providing functions and operators that operate efficiently on these arrays. &lt;/p&gt;

&lt;h3&gt;Matplotlib&lt;/h3&gt;

&lt;p&gt;Matplotlib has powerful yet beautiful visualizations. It’s a plotting library for Python with around 26,000 comments on GitHub and a very vibrant community of about 700 contributors. Because of the graphs and plots that it produces, it’s extensively used for data visualization. It also provides an object-oriented API, which can be used to embed those plots into applications. &lt;/p&gt;

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

&lt;p&gt;Well, that was it for the important Python libraries that would be very helpful in learning Data Science. I hope you found some help from this.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>python</category>
    </item>
    <item>
      <title>Top Data Structures Interview Questions &amp; Answers</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Wed, 29 Jul 2020 10:29:41 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/top-data-structures-interview-questions-answers-2d0</link>
      <guid>https://dev.to/thomaswilfred15/top-data-structures-interview-questions-answers-2d0</guid>
      <description>&lt;p&gt;Programming as a job is a category that has grown manifold times in the past decade. Jobs in this field are increasing with each passing year and it isn't very difficult to grasp programming. &lt;/p&gt;

&lt;p&gt;When it comes to the programming field. the favorite questions that interviewers love to ask come from Data Structures &amp;amp; Algorithms. Even though the concepts of DS &amp;amp; Algo isn't very wide, the questions that can be formed from these topics are countless.&lt;/p&gt;

&lt;p&gt;Before the technical questions, you must be comfortable in answering the basic questions like- Tell me about yourself, What do you know about the company, Why do you want to join our company, and other such questions. After this comes the questions related to Data Structures,&lt;/p&gt;

&lt;p&gt;So in this article, we are going to discuss &lt;b&gt;the important questions on DS that can be asked by the interviewers&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;But before jumping to that, let us discuss a brief about Data Structures.&lt;/p&gt;

&lt;h2&gt;What is Data Structure&lt;/h2&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%2Fcodersera.com%2Fblog%2Fwp-content%2Fuploads%2F2020%2F07%2Fblock-chain-4115197_1280.jpg" 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%2Fcodersera.com%2Fblog%2Fwp-content%2Fuploads%2F2020%2F07%2Fblock-chain-4115197_1280.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification.&lt;/p&gt;

&lt;p&gt;More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tutorialspoint.com/data_structures_algorithms/data_structures_basics.htm" rel="noopener noreferrer"&gt;Data structures&lt;/a&gt; provide a means to manage large amounts of data efficiently for uses such as large databases and internet indexing services. Usually, efficient data structures are key to designing efficient algorithms. &lt;/p&gt;

&lt;p&gt;Now that we are done discussing the basics, let us move onto the &lt;a href="https://codersera.com/blog/top-15-data-structures-interview-questions-answers/" rel="noopener noreferrer"&gt;interview questions&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Interview Questions on Data Structures&lt;/h2&gt;

&lt;p&gt;Q1. Explain the types of Data Structures.&lt;br&gt;
Ans- There are mainly two types of Data Structures:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Linear Data Structure: When all of its components are organized in a proper sequence, a data structure is called linear. The components are stored in linear data structures in a non-hierarchical manner where each item has the successors and predecessors except for the first and final element.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Non-linear data structure: The Non-linear data structure does not form a series, i.e. each object or entity is linked to two or more than two objects in a non-linear manner. The elements of the data are not organized within the sequential model. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Q2. Discuss the Different Operations that can be Carried out on Data Structures?&lt;br&gt;
Ans- Following are the different operations that are generally carried out in Data Structures:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Insert&lt;/b&gt;– Add a new data item in the already existing set of data items.&lt;br&gt;
&lt;b&gt;Delete&lt;/b&gt;– Remove an existing data item from the given data item set.&lt;br&gt;
&lt;b&gt;Traverse&lt;/b&gt;– Access each piece of data precisely once so that it can be processed.&lt;br&gt;
&lt;b&gt;Search&lt;/b&gt;– Figure out where the data item resides in the specified data item set.&lt;br&gt;
&lt;b&gt;Sort&lt;/b&gt;– Arrange the data objects in certain order i.e. in ascending or descending order for numerical data and in dictionary order for alphanumeric data.&lt;/p&gt;

&lt;p&gt;Q3. Explain the Concept of a Queue. How can you differentiate it from a Stack?&lt;br&gt;
Ans- A queue is a type of linear structure that is used to access components that support the FIFO (First In First Out) method. Dequeue, enqueue, front, and rear are key queue functions. Unlike a stack, the arrays and linked lists are used to enforce a queue.&lt;/p&gt;

&lt;p&gt;The element most recently added is removed first in a stack. However, in the event of a queue, the element least recently added is removed first.&lt;/p&gt;

&lt;p&gt;Q4. Explain the Steps Involved in the Insertion and Deletion of an Element in the Stack&lt;br&gt;
Ans– &lt;b&gt;Algorithms of Stack operations&lt;/b&gt; :&lt;/p&gt;

&lt;p&gt;Algorithms of PUSH operations-&lt;/p&gt;

&lt;p&gt;Step 1: Start&lt;/p&gt;

&lt;p&gt;Step 2: Checks if the stack is full if(top==(SIZE-1))&lt;/p&gt;

&lt;p&gt;Step 3: If the stack is full, Give a message and exit printf("\nStack Overflow");&lt;/p&gt;

&lt;p&gt;Step 4: If the stack is not full, increment top to point the next empty space.&lt;/p&gt;

&lt;p&gt;top=top+1;&lt;/p&gt;

&lt;p&gt;Step 5: Add the data element to the stack location, where the top is pointing.&lt;/p&gt;

&lt;p&gt;printf("\nEnter the item to be pushed in stack:"); stack[top]=item;&lt;/p&gt;

&lt;p&gt;Step 6: Stop&lt;/p&gt;

&lt;p&gt;Algorithms of POP operations :&lt;/p&gt;

&lt;p&gt;Step 1: Start&lt;/p&gt;

&lt;p&gt;Step 2: Checks if the stack is empty if(top==-1)&lt;/p&gt;

&lt;p&gt;Step 3: If the stack is empty, Give a message and exit printf(“\nStack Underflow”);&lt;/p&gt;

&lt;p&gt;Step 4: If the stack is not empty, Print the element at which the top is pointing.&lt;/p&gt;

&lt;p&gt;printf("\nPopped element is : %d\n",stack[top]);&lt;/p&gt;

&lt;p&gt;Step 5: Decrement top to point previous location.&lt;/p&gt;

&lt;p&gt;top=top-1;&lt;/p&gt;

&lt;p&gt;Step 6: Stop&lt;/p&gt;

&lt;p&gt;Q5. What is a Binary search?&lt;br&gt;
Ans- A binary search only operates on sorted lists or arrays. This search chooses the middle which divides the whole list into two sections. The middle one is compared first. It works by halving the array on each iteration until the necessary element is found.&lt;/p&gt;

&lt;p&gt;Q6. What do you Understand by Array and Multidimensional Array?&lt;br&gt;
Ans- Arrays are characterized as the gathering of similar types of data items stored at contiguous memory locations. It is the simplest data structure that allows random access to any data item by using its index number.&lt;/p&gt;

&lt;p&gt;The multidimensional array can be known as the array of arrays which takes the form of rows and columns wherein the data is kept in tabular form.&lt;/p&gt;

&lt;p&gt;2D arrays are generated to enforce the lookalike data structure of a relational database. It gives the convenience of carrying a large amount of data at once that can be transferred on to any number of functions where necessary.&lt;/p&gt;

&lt;p&gt;Q7. Explain the Process of Hashing&lt;br&gt;
Ans- Hashing is the process of transforming a set of key values into a collection of array indexes. Associative data storage can be generated by hash tables where data indices are identified by supplying the key values that correlate.&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%2Fcodersera.com%2Fblog%2Fwp-content%2Fuploads%2F2020%2F07%2Fspannin-tree-1024x1024.png" 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%2Fcodersera.com%2Fblog%2Fwp-content%2Fuploads%2F2020%2F07%2Fspannin-tree-1024x1024.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Q8. Give names of all the Trees.&lt;br&gt;
Ans- There are six types of trees given as follows.&lt;/p&gt;

&lt;p&gt;General Tree&lt;br&gt;
Forests&lt;br&gt;
Binary Search Tree&lt;br&gt;
Tournament Tree&lt;br&gt;
Binary Tree&lt;br&gt;
Expression Tree&lt;/p&gt;

&lt;p&gt;Q9. List the area of applications where the stack data structure can be used?&lt;br&gt;
Ans- Areas, where the stack data structures can be used, are&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Expression evaluation&lt;/li&gt;
&lt;li&gt;Backtracking&lt;/li&gt;
&lt;li&gt;Memory Management&lt;/li&gt;
&lt;li&gt;Function calling and return&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Q10. Can you Explain the Difference Between a Linked List and an Array?&lt;br&gt;
Ans- Difference between Linked List and an Array are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Linked List is an ordered collection of elements of the same type in which each element is connected to the next using pointers while Array is a collection of elements of a similar data type.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Size of an Array is fixed whereas it isn't fixed in Linked Lost.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Memory is allocated from the stack in the linked list whereas it is allocated from the heap in Array.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data cannot be accessed randomly in Linked List whereas it can be accessed randomly in the Array using the array index.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Q11. What is a multidimensional array?&lt;br&gt;
Ans- The multidimensional array can be defined as the array of arrays in which, the data is stored in tabular form consists of rows and columns. &lt;/p&gt;

&lt;p&gt;2D arrays are created to implement a relational database lookalike data structure. It provides ease of holding the bulk of data at once which can be passed to any number of functions wherever required. &lt;/p&gt;

&lt;p&gt;Q12. What is a doubly-linked list?&lt;br&gt;
Ans- The doubly linked list is a complex type of linked list in which a node contains a pointer to the previous as well as the next node in the sequence. In a doubly-linked list, a node consists of three parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Node data&lt;/li&gt;
&lt;li&gt;Pointer to the next node in sequence (next pointer)&lt;/li&gt;
&lt;li&gt;Pointer to the previous node (previous pointer)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Q13. What is a dequeue?&lt;br&gt;
Ans- Dequeue (also known as a double-ended queue) can be defined as an ordered set of elements in which the insertion and deletion can be performed at both the ends, i.e. front and rear.&lt;/p&gt;

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

&lt;p&gt;These are the most commonly asked questions in interviews. These questions display that you have an understanding of Data structures. If you want to learn in deep about this topic, you could look up tutorials on Youtube like &lt;a href="https://www.youtube.com/watch?v=BBpAmxU_NQo" rel="noopener noreferrer"&gt;this&lt;/a&gt; or use any reference book.&lt;/p&gt;

&lt;p&gt;It would be very helpful if you at least brush up these topics and by brushing up, I mean not just memorizing it. It would be better if you understand them by practicing. &lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>database</category>
      <category>questions</category>
      <category>interview</category>
    </item>
    <item>
      <title>What is the best game development engine?</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Mon, 22 Jun 2020 09:38:45 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/what-is-the-best-game-development-engine-2e47</link>
      <guid>https://dev.to/thomaswilfred15/what-is-the-best-game-development-engine-2e47</guid>
      <description>&lt;p&gt;Gaming is something we all enjoy. Games are a great way to pass time, speaking from my own experience. Not only this, but gaming also teaches many crucial things about planning, strategy making, teamwork, and quick reflexes. &lt;/p&gt;

&lt;p&gt;Due to this immense love for games, many people start learning game development. I mean, wouldn't it be nice if people played a game developed by you? It would be more than a proud moment to see their response.&lt;/p&gt;

&lt;p&gt;For game development, the most important element is the Game Engine. It decides how your game will come out in play. So in this article, we are going to describe some gaming engines that would help you in Game Development.&lt;/p&gt;

&lt;h2&gt;What is Game Engine&lt;/h2&gt;

&lt;p&gt;A game engine, also known as a game architecture, game framework, or game frame, is a software development environment designed for people to build video games. Developers use game engines to construct games for consoles, mobile devices, and personal computers.&lt;/p&gt;

&lt;p&gt;The core functionality typically provided by a game engine includes a rendering engine (“renderer”) for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, scene graph, and may include video support for cinematics.  &lt;/p&gt;

&lt;p&gt;A Game engine consists of five main components.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Main Game Program – It consists of the algorithms that implement the game’s logic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rendering Engine – The job of the rendering engine is to generate animated 3D graphics.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Audio engine – It consists of algorithms related to loading, modifying, and output of sound through the user’s speaker. Newer Audio engines are capable of producing Doppler effect, echoes and oscillations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Physics Engine – Physics engine is used to implement the laws of physics realistically within the game.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI – AI or Artificial Intelligence is employed according to the genre of the game since each genre uses a different logic.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now that we have described the game engine, let us look at the top game engines.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UMKzOnGB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://codersera.com/blog/wp-content/uploads/2020/03/unity_engine.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UMKzOnGB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://codersera.com/blog/wp-content/uploads/2020/03/unity_engine.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://unity.com/"&gt;Unity&lt;/a&gt; is a game engine developed by Unity Technologies. It is one of the most widely used engines in the game development industry. Since it is a cross-platform engine, it can be used to create games for different platforms like Windows, iOS, Linux, and Android.&lt;/p&gt;

&lt;p&gt;The engine has been adopted by industries outside video gaming, such as film, automotive, architecture, engineering, and construction. As of now, the engine supports as many as 25 platforms. The latest version of the Unity at the moment is Unity 2019.2.&lt;/p&gt;

&lt;p&gt;The engine can be used to create three-dimensional, two-dimensional, Virtual reality, Augmented Reality, and simulations/experiences.&lt;/p&gt;

&lt;h2&gt;Advantages of Unity&lt;/h2&gt;

&lt;p&gt;Advantages of Unity are&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Debugging – Debugging in Unity is a hassle-free work and easy job for any developer. The support for debugging is nice because all the variables are displayed in the gameplay.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Graphics – It supports high-quality audio and visual effects that support easing the game development. The visuals are capable of adapting to every screen and device.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Analytics – Unity consists of built-in analytics which you can easily find in the editor. Thanks to Unity Analytics, you can get very deep insights into your game. It gives you information that can be used to improve the gameplay by doing some modifications and offer an awesome gaming experience for the players.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Community Support – Unity enjoys the support of a large number of users that help in keeping the engine up-to-date and free of bugs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Platform Support – This is one of the biggest strengths of Unity. Since it offers support to 25 different platforms, it becomes easy to share an app created in one platform among others. Besides, its methodology allows for speedy prototyping, which in turn reduces the time required to develop apps.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LwYZckqP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://codersera.com/blog/wp-content/uploads/2020/03/unreal_engine.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LwYZckqP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://codersera.com/blog/wp-content/uploads/2020/03/unreal_engine.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.unrealengine.com/"&gt;Unreal&lt;/a&gt; is a game engine developed by Epic Games which was first showcased in 1998 first-person shooter game Unreal. Initially, it was developed as a game engine for the first-person shooter. But over the year, it is being used to develop for other genres like platformers, MMORPGs, and other RPGs. The latest version of Unreal is 4.25.&lt;/p&gt;

&lt;p&gt;It is the most preferred engine when it comes to game development for big title games(AAA). It is more suited for those working in teams rather than individually.&lt;/p&gt;

&lt;h2&gt;Advantages of Unreal&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Performance – The performance of the Unreal Engine is great due to the fact that it uses very little memory and other resources.&lt;/li&gt;
&lt;li&gt;AAA Games – Unreal is widely preferred when it comes to making big-budget games where the quality of the game needs to be over the roof.&lt;/li&gt;
&lt;li&gt;Open-Source – Since Unreal Engine is open-source, this makes its development very easy and increases its efficiency.
Iteration – Unity makes rapid iteration easy, which makes it useful when making a new project.&lt;/li&gt;
&lt;li&gt;VR – It provides good integration for VR for achieving the best quality picture.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ef1rko49--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://codersera.com/blog/wp-content/uploads/2020/03/cry_engine.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ef1rko49--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://codersera.com/blog/wp-content/uploads/2020/03/cry_engine.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cryengine.com/"&gt;CryEngine&lt;/a&gt; is a game engine developed by German developer Crytek. It has been used in all of their titles. It has also been used for many third-party games under Crytek’s licensing scheme and has beautiful graphics. Along with it, the characters made with it are life-like.&lt;/p&gt;

&lt;p&gt;To learn how to use CryEngine, there are a lot of free resources. Since it is programmed in C++, C#, and Lua, it is easy to code and supports platforms like macOS and Windows and consoles like Playstation and Xbox.&lt;/p&gt;

&lt;h2&gt;Advantages of CryEngine&lt;/h2&gt;

&lt;p&gt;Advantages of CryEngine are&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Exceptionally convenient real-time lighting engine, neat terrain tools.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;90% of the gameplay framework is already in place, the best technical art pipeline in the business, blueprints offer high accessibility to designers.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Game development is a very interesting and fun hobby if you feel connected to games. For that, we use game engines like &lt;a href="https://codersera.com/blog/unreal-engine-vs-unity-choose-best-game-engine/"&gt;Unity, Unreal&lt;/a&gt;, and CryEngine. Unity is used for its beautiful graphics and platform support. Unreal is used for making big-budget games that are made by large teams.  The performance of the engine is pretty good. CryEngine is used by CryTek and mostly employed in games like FarCry and Crysis.&lt;/p&gt;

&lt;p&gt;Each engine has its own set of advantages and drawbacks. You can compare it on your own. Some might suit others while some won't. So it's better if you check its compatibility yourself.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to begin you Android Development Journey?</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Fri, 05 Jun 2020 09:47:40 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/how-to-begin-you-android-development-journey-31mm</link>
      <guid>https://dev.to/thomaswilfred15/how-to-begin-you-android-development-journey-31mm</guid>
      <description>&lt;p&gt;Android Development is quite raging these days. With almost everyone having a smartphone, demand for apps has lead to the exponential rise of the app industry. Big businesses are shifting their base to an online model to capitalize as much as possible. &lt;/p&gt;

&lt;p&gt;Hence, companies are looking to hire people who have good knowledge of app development. Therefore, we are going to discuss how to begin your Android Journey from scratch&lt;/p&gt;

&lt;p&gt;But before jumping to that, let us have a brief overview of Android Development.&lt;/p&gt;

&lt;h2&gt;What is Android Development?&lt;/h2&gt;

&lt;p&gt;Android app development has huge market scope, considering Android is one of the most widely used OS in smartphones these days. It occupies a huge market share, thanks to the strong backing by Google and mobile companies using it as their primary OS.&lt;/p&gt;

&lt;h2&gt;Advantages of Android App Development&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Higher Income&lt;/b&gt;– App development provides a great opportunity for those who want to make good money. According to Payscale, the average salary of an entry-level Android developer in the United States is $98000. It is quite a huge competitive amount if you compare it with other developments or other domains. Therefore, it is a good option to consider getting into, for those who want to make a good amount of money.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Revenue Generated&lt;/b&gt;– This is no hidden truth, that apps are a great source of capital. Google Play Store gives you a great chance to sell your app. The number of downloads and ads you run on it determines the net revenue of the app. According to latest statistics, the revenue generated by apps on Google Store and Apple Store was $51 million and $84 million respectively.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Freelancing&lt;/b&gt;– One of the biggest benefits of app development is the ability to do freelancing. You can easily work for yourself as per your need and convenience. Furthermore, one can work from the comforts of your home without actually going to the workplace/office.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now that we have got the basics of &lt;a href="https://codersera.com/blog/how-to-begin-learning-android-app-development/" rel="noopener noreferrer"&gt;Android&lt;/a&gt; covered, let us begin with the development process.&lt;/p&gt;

&lt;h2&gt;How to start Android App Development?&lt;/h2&gt;

&lt;p&gt;&lt;b&gt;1. Go to the official Android website&lt;/b&gt;&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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FScreenshot-2020-03-24-at-14.54.03-e1586871586312-940x486.png" 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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FScreenshot-2020-03-24-at-14.54.03-e1586871586312-940x486.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First, visit the website. It has many things that would help you in getting an idea about the ecosystem and a variety of solutions, ideas, and technologies linked with Android. You won't understand everything but you would know where to look the next time you forget something.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;2. Check out Kotlin&lt;/b&gt;&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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FScreenshot-2020-03-24-at-15.09.21-940x537.png" 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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FScreenshot-2020-03-24-at-15.09.21-940x537.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Google officially supports Kotlin on Android as a “first-class” language since May 2017. Fewer companies are developing commercial applications using only Java, so studying Kotlin is a necessary step to become a successful Android Developer. For all the documentation related stuff, you can refer to Kotlin's official website.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;3. Get to know material design&lt;/b&gt;&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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FImage-2020-04-14-at-3.48.28-PM-940x477.png" 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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FImage-2020-04-14-at-3.48.28-PM-940x477.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Material design allows you to design beautiful products, design, and build with new tools for customizing material and sharing work. Try to feel it. Be the material. Think like material. Behave like material. You shouldn’t miss this point while getting started with Android.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;4. Download Android Studio&lt;/b&gt;&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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FScreenshot-2020-03-24-at-14.56.54-940x595.png" 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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FScreenshot-2020-03-24-at-14.56.54-940x595.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s unquestionably the best IDE for Android and it’s from Google. If you have been using Eclipse previously, then you would find Android Studio a better IDE compared to it.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;5. Write some code&lt;/b&gt;&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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FScreenshot-2020-03-24-at-15.03.00-e1585058682106-940x533.png" 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%2Fwww.thedroidsonroids.com%2Fwp-content%2Fuploads%2F2017%2F08%2FScreenshot-2020-03-24-at-15.03.00-e1585058682106-940x533.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s time to look a bit at the code and write something. Practice together with a theory is one of the best ways of learning. Go back to the official Android website and this time go to Develop. There are two of the most important sections:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Training courses and Codelabs – you can find there a lot of helpful examples. Go through all these lessons before you start programming for real.&lt;/li&gt;
&lt;li&gt;API Reference – I know it will be hard to go through all these texts, descriptions, examples, and so on but it’s worth it. Trust me. This section is very important.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Android App Development is the way to these days. It has many advantages like good ROI(Return on Investment), Freelance working, Higher salaries, and many more. It is expected to grow even more with the reach of smartphones extending to each and every person. Therefore, it is better that you have an idea of Android. It will help in improving your understanding.&lt;/p&gt;

</description>
      <category>android</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>React vs Flutter vs Xamarin</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Tue, 26 May 2020 13:05:29 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/react-vs-flutter-vs-xamarin-24e0</link>
      <guid>https://dev.to/thomaswilfred15/react-vs-flutter-vs-xamarin-24e0</guid>
      <description>&lt;p&gt;Cross-mobile app development is quite trending these days. It is used to develop apps for Android as well as iOS. It helps in the reduction of time and money for the development of the app.&lt;/p&gt;

&lt;p&gt;We have heard a lot of buzz around React and Flutter, the two raging cross-platform apps for mobile app development. But we haven't compared it with the old player in the market, Xamnarin. So in this blog, we're going to do a comparison between the three.&lt;/p&gt;

&lt;p&gt;To begin with, we will have an introduction to the three software.&lt;/p&gt;

&lt;h2&gt;Flutter&lt;/h2&gt;
 

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g6MvmJIm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/flutter/website/master/src/_assets/image/flutter-lockup.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g6MvmJIm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/flutter/website/master/src/_assets/image/flutter-lockup.png" width="880" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flutter is an open-source UI software development kit created by Google. It is used to develop applications for Android, iOS, Windows, Mac, Linux, Google Fuchsia, and the web.&lt;/p&gt;

&lt;p&gt;It allows the developers to create a native mobile application with only one codebase. In short, you can create applications for two different operating systems by using one programming language.&lt;/p&gt;

&lt;p&gt;It is Google's UI toolkit for crafting beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. It develops beautiful&lt;/p&gt;

&lt;p&gt;Programming of Flutter is done in a programming language known as Dart, a quick, object-oriented programming language. It is new compared to other programming languages and easy to learn, specifically for those who have programming knowledge of C# and Java.&lt;/p&gt;

&lt;h2&gt;Advantages of Flutter&lt;/h2&gt;
 

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Beautiful Design - Flutter has its own widgets that are managed by its graphics engine. It has a beautiful UI which is good for viewing experience. Due to this, it makes beautiful looking designs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Same UI across all devices - The UI of Flutter is the same on all devices, irrespective of their mobile version. In other words, a 3-year old phone will have the same experience for Flutter as a modern phone.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Productivity - With the help of Flutter, you can change the code and see the changes in real-time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Less Testing - Flutter requires almost half the testing of the applications developed using it compared to the application developed by other frameworks.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;React Native&lt;/h2&gt;
 

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5pBolEYf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.futuremind.com/m/cache/c8/15/c8150d863e584ed42ccfbdc3f3f1aa3a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5pBolEYf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.futuremind.com/m/cache/c8/15/c8150d863e584ed42ccfbdc3f3f1aa3a.jpg" width="880" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React Native is an open-source mobile application framework created by Facebook. It is used to develop applications for Android, iOS, Web, and UWP by enabling developers to use React along with native platform capabilities.&lt;/p&gt;

&lt;p&gt;It is one of the most preferred cross-platform software for app development. It was released in 2015, way before the release of Flutter. Since it's a cross-platform software, you can use the same code across the web and mobile.&lt;/p&gt;

&lt;h2&gt;Advantages of React Native&lt;/h2&gt;
 

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Community - React Native enjoys a large community support thanks to being the oldest cross-platform framework available in the market and the backing of Facebook. It gets timely updates and fixes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance - Performance of React Native is very fast and gives a fluid feel thanks to its UI.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cross-Platform Capabilities - App development in React Native is fast because it uses a single code to develop apps for different platforms.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easy to Use - React Native is programmed in Javascript, a popular language for framework programming. Also, React Native is very similar to React. Therefore, anyone who has worked on React won't face any difficulties working with React Native.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;Xamarin&lt;/h2&gt;
 

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V0YUYJ-a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.hopetutors.com/wp-content/uploads/2017/03/xamarin-training-in-chennai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V0YUYJ-a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.hopetutors.com/wp-content/uploads/2017/03/xamarin-training-in-chennai.png" width="244" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Xamarin is a cross-platform software owned by Microsoft. With a C#-shared codebase, developers can use Xamarin tools to write native Android, iOS, and Windows apps with native user interfaces and share code across multiple platforms, including Windows, macOS, and Linux.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;User Interface - It gives the developer complete freedom to choose the User Interface layout, a great benefit while designing apps according to user interests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Simplified Maintenance - Due to its cross-platform application, Xamarin makes maintenance and updates easier. You can simply deploy the changes or updates to the source file and they will be applied to both iOS and Android apps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Native User experience and feel - Xamarin cross-platform app development tool (IDE) enables such C# coding that the result is a native look and feel of the mobile app. At the moment of app runtime, it converts UI components into platform-specific elements, resulting in native app-like experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;API Integration flexibility - Xamarin mobile application development also stands out because of its utmost flexibility to use the same APIs and UI controls as found in developing Android, iOS, and Mac applications.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now that we have discussed them individually, let us see how they &lt;a href="https://codersera.com/blog/flutter-vs-xamarin-comparison-guide-for-developers/"&gt;compare&lt;/a&gt; against each other.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;App size - The size of the app is the smallest in React native, followed by Xamarin and Flutter.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learning Curve - The learning curve of &lt;a href="https://codersera.com/blog/flutter-vs-react-native/"&gt;React Native&lt;/a&gt; is the simplest due to its similarities with React and JavaScript. Flutter has a steeper learning curve as it requires Dart for its programming. Xamarin has the steepest curve because Xamarin requires separate configurations for iOS and Android- i.e Xamarin.iOS &amp;amp; Xamarin.Android.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Community Support - React native has the largest community support thanks to its developers timely updating it. Xamarin comes in second but it is more because of the fact that it has been present for long. Flutter is relatively new and gaining support slowly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Programming Language - React Native is programmed using Javascript, a language found common in many frameworks. Flutter is programmed using Dart, which isn't a common language. Xamarin is programmed in C#, which is mainly used for web development.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Testing Support - React Native community has no official support for integration and UI level testing, while Flutter has great documentation and a rich set of testing features. Xamarin has good testing support but loses to Flutter as it has widget testing support and the ability to conduct tests at multiple levels.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Developer Productivity - React and Flutter have almost the same productivity as they both have Hot Reloading. Xamarin is better than the two because it has great developer support in terms of resources and tools.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UI Components &amp;amp; Development API - Flutter is rich in developing APIs and UI components whereas React Native is too dependent on third-party libraries. However, Flutter lags behind Xamarin because of Xamarin's rich set of documentation and a developer API.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Installation - Xamarin installation is dependent on the Visual Studio IDE, whereas Flutter installation is performed via the command line. Both Flutter and React Native lack simpler installation with native package managers for a specific OS.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;With all that, we have completed the comparison between React Native, Flutter, and Xamarin. I hope it gave you some new insights into the three. &lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>Flutter vs React Native</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Fri, 15 May 2020 13:28:00 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/flutter-vs-react-native-535j</link>
      <guid>https://dev.to/thomaswilfred15/flutter-vs-react-native-535j</guid>
      <description>&lt;p&gt;Flutter and React Native- Which one of them is the best? This has been one of the hottest cross-platform app debate that has been going on ever since its arrival in December 2018.&lt;/p&gt;

&lt;p&gt;Ever since the number of smartphones has increased, the demand for apps has also observed a rise in demand. Since we have Android and iOS as the primary OS, building apps individually for them is expensive and time-consuming.&lt;/p&gt;

&lt;p&gt;Taking notice of that, developers started to opt for cross-platform solutions over the native solutions to build apps for iOS and Android together with lesser time and money.&lt;/p&gt;

&lt;p&gt;To solve this problem and capitalize on it, Facebook released React Native in 2015. It was the only software for cross-platform app development at the time and made its name in the market.&lt;/p&gt;

&lt;p&gt;Flutter arrived in the market when React Native had almost taken the entire market in its stronghold. It also provides the same set of features with few additions.&lt;/p&gt;

&lt;p&gt;Now, let us look at both Flutter and React Native&lt;/p&gt;

&lt;h2&gt;Flutter&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g6MvmJIm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/flutter/website/master/src/_assets/image/flutter-lockup.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g6MvmJIm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/flutter/website/master/src/_assets/image/flutter-lockup.png" width="880" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flutter is an open-source UI software development kit created by Google. It is used to develop applications for Android, iOS, Windows, Mac, Linux, Google Fuchsia, and the web. &lt;/p&gt;

&lt;p&gt;It allows the developers to create a native mobile application with only one codebase. In short, you can create applications for two different operating systems by using one programming language.&lt;/p&gt;

&lt;p&gt;It is Google's UI toolkit for crafting beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. It develops beautiful &lt;/p&gt;

&lt;p&gt;Programming of Flutter is done in a programming language known as Dart, a quick, object-oriented programming language. It is new compared to other programming languages and easy to learn, specifically for those who have programming knowledge of C# and Java. &lt;/p&gt;

&lt;h2&gt;React Native&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5pBolEYf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.futuremind.com/m/cache/c8/15/c8150d863e584ed42ccfbdc3f3f1aa3a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5pBolEYf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.futuremind.com/m/cache/c8/15/c8150d863e584ed42ccfbdc3f3f1aa3a.jpg" width="880" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React is an open-source mobile application framework developed by Facebook. It is used to build applications for Android, iOS, and UWP by allowing its native capabilities. &lt;/p&gt;

&lt;p&gt;React Native helps developers use the same code across the web and the mobile. And the specialty feature is that there is very little difference between a finished app built in Objective-C or Java and one built using React Native.&lt;/p&gt;

&lt;h2&gt;Advantages of Flutter&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Beautiful Design - Flutter has its own widgets that are managed by its graphics engine. It has a beautiful UI which is good for viewing experience. Due to this, it makes beautiful looking designs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Same UI across all devices - The UI of Flutter is the same on all devices, irrespective of their mobile version. In other words, a 3-year old phone will have the same experience for Flutter as a modern phone.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Productivity -  With the help of Flutter, you can change the code and see the changes in real-time. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Less Testing - Flutter requires almost half the testing of the applications developed using it compared to the application developed by other frameworks.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;Advantages of React Native&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Community - React Native enjoys a large community support thanks to being the oldest cross-platform framework available in the market and the backing of Facebook. It gets timely updates and fixes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Performance - Performance of React Native is very fast and gives a fluid feel thanks to its UI.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cross-Platform Capabilities - App development in React Native is fast because it uses a single code to develop apps for different platforms.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easy to Use - React Native is programmed in Javascript, a popular language for framework programming. Also, React Native is very similar to React. Therefore, anyone who has worked on React won't face any difficulties working with React Native.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;Disadvantage of Flutter&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;App Size - The size of the app developed in Flutter is quite large compared to the native ones. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Community - The developer community for Flutter is very small when compared with other frameworks. This is mainly because of its arrival not being very old.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Libraries and Development - Flutter is full of components and Google's support for Flutter is impressive. However, as it is very new, there are a lot of functionalities you wouldn't find in its libraries.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;Disadvantages of React Native&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Debugging - React Native introduces another layer to the project. This makes the debugging of the project difficult.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Abandoned Packages - React Native boasts of a large number of libraries. However, most of these libraries are either of low quality or have been completely abandoned.     &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Low Security - Since React Native is a Javascript-based library, it requires a little bit more attention when it comes to security. Javascript is famous for its fragility so you would need to be extra careful.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Memory Management - It is not very suitable for computation-intensive apps. The performance and speed of the app are degraded in such a case.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With all that done, let us look at the &lt;a href="https://codersera.com/blog/flutter-vs-react-native/"&gt;differences&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Comparison between Flutter and React Native&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Learning Curve - Learning required to be done for Flutter is more than React because you need to learn Dart which is not a frequently used programming language. React Native requires less learning thanks to its similarity with React.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Components Library - React has an extensive library which has a lot of functionalities. On the other hand, Flutter doesn't have such a library.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UI Components - Flutter is very rich in components. It doesn't need to use 3rd party components. React isn't that much rich in components. To make the use of its core UI components, it requires the use of the 3rd party library.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maturity - React Native seemingly has more maturity than Flutter. It has seen many changes over the years whereas Flutter is relatively new and requires many changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Applications - React Native is used by companies like Facebook, Instagram, Airbnb, and PayPal while Flutter is used by companies such as GeekyAnts, Appinventiv, and BrainMobi.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;To summarise this, it is very difficult to say which one is the best of the two. Both of them have their own set of pros and cons. Some things are better in React Native while some are better in Flutter. So it comes down to your preferences. So choose what's best for you and begin your app development.&lt;/p&gt;

&lt;p&gt;Thanks for Reading.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>react</category>
    </item>
    <item>
      <title>CSS vs SCSS</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Thu, 23 Apr 2020 12:05:14 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/css-vs-scss-2ko5</link>
      <guid>https://dev.to/thomaswilfred15/css-vs-scss-2ko5</guid>
      <description>&lt;p&gt;CSS is one of the foundations of web development. It has been there for years. But ever since SCSS has been developed, CSS has got a tough competition from it. So what is it that makes SCSS better than CSS? Read more to know the differences between both of them.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;CSS&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Cascading Style Sheets&lt;/b&gt; (CSS) is a style sheet language used for describing the presentation of a document written in a markup language like HTML. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript.&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%2Fimg-a.udemycdn.com%2Fcourse%2F750x422%2F1561458_7f3b.jpg" 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%2Fimg-a.udemycdn.com%2Fcourse%2F750x422%2F1561458_7f3b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.w3schools.com/css/" rel="noopener noreferrer"&gt;CSS&lt;/a&gt; is designed to enable the separation of presentation and content, including layout, colors, and fonts. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple web pages to share formatting by specifying the relevant CSS in a separate .css file and reduce complexity and repetition in the structural content.&lt;/p&gt;

&lt;p&gt;The basic idea behind CSS is to separate the structure of a document from the presentation of the document. HTML is meant for structure. It was never intended for anything else. All those attributes you add to style your pages were added later as the viewing public demanded it. All those additions though make HTML clumsy and work against its main purpose of structuring a document. HTML is there to let a browser know that this block of text is a paragraph and that block of text is a heading for this paragraph.&lt;/p&gt;

&lt;h2&gt;&lt;b&gt;Advantages of CSS&lt;/b&gt;&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Easier to maintain and update&lt;/li&gt;
&lt;li&gt;Greater consistency in design&lt;/li&gt;
&lt;li&gt;More formatting options&lt;/li&gt;
&lt;li&gt;Lightweight code&lt;/li&gt;
&lt;li&gt;Faster download times&lt;/li&gt;
&lt;li&gt;Search engine optimization benefits&lt;/li&gt;
&lt;li&gt;Ease of presenting different styles to different viewers&lt;/li&gt;
&lt;li&gt;Greater accessibility&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;&lt;b&gt;Disadvantages of CSS&lt;/b&gt;&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;It ould be easily overridden&lt;/li&gt;
&lt;li&gt;It takes more time to download a CSS file than an HTML file.&lt;/li&gt;
&lt;li&gt;It becomes complicated because of different versions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;SCSS&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;SASS&lt;/b&gt; or &lt;b&gt;&lt;a href=""&gt;SCSS&lt;/a&gt;&lt;/b&gt; (short for syntactically awesome style sheets) is a style sheet language initially designed by Hampton Catlin and developed by Natalie Weizenbaum. After its initial versions, Weizenbaum and Chris Eppstein have continued to extend Sass SassScript, a scripting language used in Sass files.&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%2Fcdn-media-1.freecodecamp.org%2Fimages%2F1%2AHFYKWq92BcXJIdata7d-JQ.png" 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%2Fcdn-media-1.freecodecamp.org%2Fimages%2F1%2AHFYKWq92BcXJIdata7d-JQ.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sass consists of two syntaxes. The original syntax, called "the indented syntax," uses a syntax similar to Haml. It uses indentation to separate code blocks and newline characters to separate rules. The newer syntax, "SCSS" (Sassy CSS), uses block formatting like that of CSS. It uses braces to denote code blocks and semicolons to separate rules within a block. The indented syntax and SCSS files are traditionally given the extensions .sass and .scss, respectively.&lt;/p&gt;


&lt;h2&gt;&lt;b&gt;Advantages of SCSS&lt;/b&gt;&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;It contains fewer codes so you can write CSS quicker.&lt;/li&gt;
&lt;li&gt;It is more stable, powerful, and elegant because it is an extension of CSS, making it easy for designers and developers to work more efficiently and quickly.&lt;/li&gt;
&lt;li&gt;It is compatible with all versions of CSS. So, you can use any available CSS libraries.&lt;/li&gt;
&lt;li&gt;It provides nesting so you can use nested syntax and useful functions like color manipulation, math functions, and other values.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;&lt;b&gt;Disadvantages of SCSS&lt;/b&gt;&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;The developer must have enough time to learn new features present in this preprocessor before using it.&lt;/li&gt;
&lt;li&gt;Using SCSS may cause losing benefits of the browser's built-in element inspector.&lt;/li&gt;
&lt;li&gt;Debugging becomes harder in case of SCSS&lt;/li&gt;
&lt;li&gt;It can produce very large CSS files.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now that the brief description of both CSS and SCSS is done, we will discuss the &lt;b&gt;comparison between &lt;a href="https://codersera.com/blog/difference-between-css-and-scss/" rel="noopener noreferrer"&gt;CSS and SCSS&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;SCSS contains all the features of CSS and contains more features that are not present in CSS which makes it a good choice for developers to use it.&lt;/li&gt;
&lt;li&gt;SCSS is full of advanced features.&lt;/li&gt;
&lt;li&gt;SCSS is more expressive than CSS&lt;/li&gt;
&lt;li&gt;It encourages proper nesting of rules.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thanks for reading the article.&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
    </item>
    <item>
      <title>CSS Interview Questions</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Thu, 02 Apr 2020 08:23:33 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/css-interview-questions-ae</link>
      <guid>https://dev.to/thomaswilfred15/css-interview-questions-ae</guid>
      <description>&lt;p&gt;&lt;b&gt;CSS&lt;/b&gt;, an abbreviation for Cascading Style Sheets, is a style sheet language used for describing the layout of a document written in a markup language like HTML. It is one of the three technologies used to design the Web pages- the other two being HTML and Javascript. It is designed to enable the separation of presentation and content layout.&lt;/p&gt;

&lt;p&gt;It has a simple syntax and uses a number of English keywords to specify the names of various style properties.&lt;/p&gt;

&lt;p&gt;Now that we have discussed the basics of CSS, let us have a look at the important &lt;b&gt;Interview questions based on &lt;a href="https://codersera.com/blog/top-css-interview-questions-and-answers/"&gt;CSS&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--R2qLvsmL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.onlineinterviewquestions.com/storage/categories/June2018/css-interview-questions.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--R2qLvsmL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.onlineinterviewquestions.com/storage/categories/June2018/css-interview-questions.jpg" width="880" height="660"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Q1- What is CSS?&lt;br&gt;
Ans- &lt;b&gt;CSS&lt;/b&gt; stands for Cascading Style Sheet. It is a popular styling language that is used with HTML to design websites. It can also be used with any XML documents including plain XML, SVG, and XUL.&lt;/p&gt;

&lt;p&gt;Q2- What is the origin of CSS?&lt;br&gt;
Ans- SGML (Standard Generalized Markup Language) is the origin of &lt;a href="https://www.cssbasics.com/"&gt;CSS&lt;/a&gt;. It is a language that defines markup languages.&lt;/p&gt;

&lt;p&gt;Q3- Why background and color are the separate properties if they should always be set together?&lt;br&gt;
Ans- There are two reasons behind this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It enhances the legibility of style sheets. The background property is a complex property in CSS, and if it is combined with color, the complexity will further increase.&lt;/li&gt;
&lt;li&gt;Color is an inherited property while the background is not. So this can make confusion further.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Q4- What are the different variations of CSS?&lt;br&gt;
Ans- The variations for CSS are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;CSS 1&lt;/li&gt;
&lt;li&gt;CSS 2&lt;/li&gt;
&lt;li&gt;CSS 2.1&lt;/li&gt;
&lt;li&gt;CSS 3&lt;/li&gt;
&lt;li&gt;CSS 4&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Q5- Who maintains the CSS specifications?&lt;br&gt;
Ans- World Wide Web(WWW) maintains the CSS specifications.&lt;/p&gt;

&lt;p&gt;Q7- Discuss the merits and demerits of Embedded Style Sheets&lt;br&gt;
Ans- There are several merits and demerits of embedded style sheets:&lt;br&gt;
&lt;b&gt;Merits of Embedded Style Sheets&lt;/b&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Multiple tag types can be created in a single document.&lt;/li&gt;
&lt;li&gt;Styles, in complex situations, can be applied by using Selector and Grouping methods.&lt;/li&gt;
&lt;li&gt;The extra download is unnecessary.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;Demerits of Embedded Style Sheets&lt;/b&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Multiple documents cannot be controlled. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Q8- What is the purpose of Z-index and how is it used?&lt;br&gt;
Ans- The z-index helps specify the stack order of positioned elements that may overlap one another. The z-index default value is zero and can take on either a positive or negative number.&lt;/p&gt;

&lt;p&gt;An element with a higher z-index is always stacked above than a lower index.&lt;/p&gt;

&lt;p&gt;Z-Index can take the following values:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Auto&lt;/b&gt;: Sets the stack order equal to its parents.&lt;br&gt;
&lt;b&gt;Number&lt;/b&gt;: Orders the stack order.&lt;br&gt;
&lt;b&gt;Initial&lt;/b&gt;: Sets this property to its default value (0).&lt;br&gt;
&lt;b&gt;Inherit&lt;/b&gt;: Inherits this property from its parent element.&lt;/p&gt;

&lt;p&gt;Q9- What does CSS selector mean?&lt;br&gt;
Ans- A string equivalent of HTML elements by which declarations or a set of it, is declared and is a link that can be referred for linking HTML and Style sheet is CSS selector.&lt;/p&gt;

&lt;p&gt;Q10- What are the advantages of CSS?&lt;br&gt;
Ans- Advantages of CSS are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Bandwidth&lt;/li&gt;
&lt;li&gt;Ease of use&lt;/li&gt;
&lt;li&gt;Website Speed&lt;/li&gt;
&lt;li&gt;Multiple Browser Support&lt;/li&gt;
&lt;li&gt;Device Compatability&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Q11- What is the difference between CSS2 and CSS3?&lt;br&gt;
Ans- The main difference between CSS2 and CSS3 is that CSS3 is divided into different sections which are also known as modules. Unlike CSS2, CSS3 modules are supported by many browsers.&lt;/p&gt;

&lt;p&gt;Apart from that, CSS3 contains new General Sibling Combinators which is responsible for matching the sibling elements with the given elements.&lt;/p&gt;

&lt;p&gt;I hope this article helped you in gaining some new information regarding CSS.&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Javascript: Its significance and future aspects</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Thu, 12 Mar 2020 11:24:52 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/javascript-its-significance-and-future-aspects-jb2</link>
      <guid>https://dev.to/thomaswilfred15/javascript-its-significance-and-future-aspects-jb2</guid>
      <description>&lt;p&gt;&lt;b&gt;Javascript&lt;/b&gt; is the foundation stone of the frameworks we use today like React and Vue. We cannot imagine software development without the contribution of Javascript. Therefore, we are going to discuss Javascript and future aspects.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;What is Javascript&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Javascript, often abbreviated as JS, is a programming language that conforms to the ECMA specification. It is high-level, often just-in-time compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class functions. &lt;/p&gt;

&lt;p&gt;Combined with HTML and JSS, it forms the backbone of the World Wide Web. It is the most preferred language for web development. &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript"&gt;JavaScript&lt;/a&gt; enables interactive web pages and is an essential part of web applications. The vast majority of websites use it for client-side page behavior,  and all major web browsers have a dedicated JavaScript engine to execute it.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;Advantages of Javascript&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Speed&lt;/b&gt;: Since Javascript is an interpreted language, it reduces the time required by other programming languages like Java for compilation. Along with this, it is a client-side script, meaning it can be run immediately within the client-side browser.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Simplicity&lt;/b&gt;: Javascript is easy to learn and implement, saving developers a lot of money for developing dynamic content for the web.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Popularity&lt;/b&gt;: Since all modern browsers support Javascript, it is present almost everywhere. It is used as a tool by many famous companies like Google, PayPal, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Interoperability&lt;/b&gt;: Javascript works flawlessly with other programming languages and can be used in a variety of applications. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Rich Interfaces&lt;/b&gt;: It provides various interfaces to developers for creating catchy and elegant looking webpages. Drag and drop components or sliders may give a rich interface to the webpages.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;Disadvantages of Javascript&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Client-side security&lt;/b&gt;: Since the code is executed on the user's computer, it can be used for unlawful purposes. These purposes may include using the source code without authentication. Also, it is very easy to place some code into the site that compromises the security of data over the website. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Browser Support&lt;/b&gt;: Javascript is interpreted differently by different browsers. Hence, the code must be run on all the platforms before its publishing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Single Inheritence&lt;/b&gt;: Javascript supports only single inheritance and not multiple inheritances.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;&lt;a href="https://hackernoon.com/what-is-the-future-of-javascript-355b1f13b317"&gt;Future of Javascript&lt;/a&gt;&lt;/h2&gt;&lt;/b&gt;  &lt;/p&gt;

&lt;p&gt;Javascript has become an integral part of the development community. We cannot imagine developing frameworks or webpages without Javascript, especially for the front end. With the increase in the popularity of frameworks like Vue and React, Javascript is destined to become famous and have a huge community base.&lt;/p&gt;

&lt;p&gt;Therefore, it has become crucial for companies to hire people who have good coding as well as knowledge of Javascript&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;How to prepare for Javascript interview?&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;In this competitive world where each person is trying to surpass another, it becomes important to be above your peers. You need to show your worth to companies when you go to them for work. &lt;/p&gt;

&lt;p&gt;To help you with this, we have prepared an array of questions commonly asked in interviews based on Javascript.&lt;/p&gt;

&lt;p&gt;Click here to check out &lt;a href="https://codersera.com/blog/23-javascript-interview-questions-and-answers/"&gt;beginner level questions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Click here to check out &lt;a href="https://codersera.com/blog/advanced-javascript-interview-questions/"&gt;advanced level questions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;Summary&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Javascript is a great language when you talk about the current scenario. The entire developer community is focused around Javascript. You cannot imagine front end development without Javascript. It will help in building your career and help you become a good developer.&lt;/p&gt;

&lt;p&gt;I hope this blog helped you in understanding Javascript.&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Comparison between React Native Web and React</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Tue, 25 Feb 2020 06:41:40 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/comparison-between-react-native-web-and-react-1fl4</link>
      <guid>https://dev.to/thomaswilfred15/comparison-between-react-native-web-and-react-1fl4</guid>
      <description>&lt;p&gt;I'm sure most of you would agree that we don't need an introduction to React. It is the unquestionable leader of the framework world. But then, Facebook went ahead and released React Native web. "So what is the meaning of this?" is what most of you would be thinking. Is it the same thing? If not, then doesn't it make React completely redundant?&lt;/p&gt;

&lt;p&gt;Well, this article is all about clearing that doubt only. You will be clear about both by the end of this article.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UbJPIssM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://hackernoon.com/hn-images/1%2AghfEivqtCdLAFXbgBDEoyw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UbJPIssM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://hackernoon.com/hn-images/1%2AghfEivqtCdLAFXbgBDEoyw.png" width="880" height="547"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;React Native Web vs React&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Since &lt;a href="https://reactjs.org/"&gt;React&lt;/a&gt; used the virtual DOM concept and there was a code conversion from jsx to HTML, developers thought of using the same concept for the apps, i.e. Write jsx and convert the code into java and objective c under the hood. And that’s how React native was born.&lt;/p&gt;

&lt;p&gt;Also, developers thought of simplifying the code writing process by writing one code instead of two codebases. This way you have to write just one code and let it get converted into HTML, java, and objective c under the hood. And that’s how React native for the web was born.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;Is React obsolete now or can React Native Web and React Native work together?&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Although &lt;a href="https://codersera.com/blog/react-native-web-tutorials-your-first-hybrid-app-2/"&gt;React Native web&lt;/a&gt; is a great software for creating your own website, it is advisable to use it only when you have to build both web and app versions together, or if you already have an app in react native and are planning to launch the web version.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;Advantage of React over React Native web&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;React’s syntax is close to HTML. In React, we use div, h1, h2, p, etc, and it is easier for a frontend engineer with the HTML background to jump in. Whereas in react-native-web, we use ,  which is what is used in react–native and is different than the HTML way of coding.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can easily experiment with the browser's inspect element and change the HTML over there to test your changes to React, as the conversion of React code to the browser is pretty straightforward. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can easily integrate third-party libraries. Most of the third-party libraries have React packages, even if they don’t you can easily integrate the library in the raw HTML and js form. Whereas with react-native-web integrating third-party libraries may not be that straightforward, although sometimes you can always create mocks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React is more stable and you can obtain a lot of documentation on the web.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The community support that React has is very large compared to the React Native web.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React Native web is a comparatively new technology so there isn't a lot of documentation on the internet right now.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;&lt;h2&gt;Advantages of React Native Web over React&lt;/h2&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;If you already have a codebase in react-native written, then with minimal changes you can run the same code on to the web. Whereas if you select react, then you have to start almost from scratch. Although, you can save some time by setting a monorepo and keeping some utils code common between both the app and the web.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React Native Web is great to use if you want to build app and web versions together as it provides maximum code sharing whereas, with React you have to keep the files separately.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;As the community is driving towards using styled-components everywhere, slowly it is going to be quite similar development efforts to use react-native-web and react.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;Fundamentals of the React Native web&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Every frontend framework needs some fundamentals to show its advantages&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Easy to start&lt;/li&gt;
&lt;li&gt;Great Development experience&lt;/li&gt;
&lt;li&gt;Navigation&lt;/li&gt;
&lt;li&gt;Styling&lt;/li&gt;
&lt;li&gt;Good Community support&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;&lt;h3&gt;Easy to Start&lt;/h3&gt;&lt;/b&gt;Setting up &lt;a href="http://www.reactnative.com/"&gt;React Native&lt;/a&gt; for the web is quite easy with the expo. Since expo SDK version 33, expo gives support to the react-native web.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h3&gt;Great Development Experience&lt;/h3&gt;&lt;/b&gt;With the expo kit, you get hot reloading and other great development benefits and experiences. Its been seen that changing styles sometimes get difficult with react-native-web when you are coming from an HTML background and don’t have much experience with react-native.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h3&gt;Navigation&lt;/h3&gt;&lt;/b&gt;React-navigation is one of the most popular navigation libraries for react-native, and since version 3.0 it has extended the support for react-native for the web as well.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h3&gt;Styling&lt;/h3&gt;&lt;/b&gt;Styling react-native-web component is exactly the same as styling react-native components. In case, you want to have specific styling for the web, you can always write the conditional styling using Platform.OS === ‘web’ check.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;h3&gt;Good Community Support&lt;/h3&gt;&lt;/b&gt;Since react native web is a recent technology hence it doesn’t have a community as big as react. But you’ll for sure get a lot of help on the web.&lt;/p&gt;

&lt;p&gt;Well, this was the comparison between React and the React Native Web. I hope it was helpful to you and provided some new insights to you.&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>Fetching API data with ReactJS</title>
      <dc:creator>Thomas Wilfred</dc:creator>
      <pubDate>Fri, 21 Feb 2020 13:08:00 +0000</pubDate>
      <link>https://dev.to/thomaswilfred15/fetching-api-data-with-reactjs-5g4n</link>
      <guid>https://dev.to/thomaswilfred15/fetching-api-data-with-reactjs-5g4n</guid>
      <description>&lt;p&gt;If you've used fetch to retrieve data from API using Javascript, then doing it with React will be pretty similar. In this article, we'll discuss the steps you need to use fetch to get data from an API using React.&lt;/p&gt;

&lt;p&gt;But before we get into the details, we need to be familiar with some basic definitions.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;API&lt;/b&gt;: An &lt;a href="https://www.howtogeek.com/343877/what-is-an-api/"&gt;API&lt;/a&gt; is basically a set of data, often in JSON format with specified endpoints. When we access data from an API, we want to access specific endpoints within that API framework. For example, if in the scenario we are using today, we are going to be using the random user API. Within this API, it has randomly generated user data, basically like Lorem Ipsum, but for imaginary users. It has data within the API like phone numbers, email addresses, names and pictures for each user. We don’t want all the data, but we’ll use certain endpoints to grab only the data we want.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Fetch&lt;/b&gt;: Since all the data we want is stored in an API, the &lt;a href="https://codersera.com/blog/learn-api-fetching-easy/"&gt;fetch&lt;/a&gt; is used to retrieve the data. By this command, we are basically requesting the API to send the data stored in it. We can also specify how we want the data to be returned. JSON data is often the easiest to use, so if the server returns anything other than JSON format, if that’s what we’ve requested, we may get an error.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Lifecycle Method&lt;/b&gt;: In React, there are several lifecycle methods. We’ll be using three of these lifecycle methods in this exercise, Constructor, componentWillMount and Render.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;State&lt;/b&gt;: State can be very confusing for someone who is new to &lt;a href="https://facebook.github.io/react-native/docs/tutorial"&gt;React&lt;/a&gt;. The state can be compared with the state of water- it is the same thing but different according to the state.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now that we're done with the basics, let us dive into the process.&lt;/p&gt;

&lt;p&gt;Because React uses components, it’s easy to make a fetch request, or pull data from an API, store it in one component, and then import the entire component to the app or parent component. Since you may need to fetch from multiple sources or have multiple fetches from the same source, dividing it up into components will help keep your code less cluttered. Here’s how I set up the architecture of this app:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Xw1kwGFM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1746/1%2AfgQtv6aEFQPcs8dMNx1ZRg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Xw1kwGFM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1746/1%2AfgQtv6aEFQPcs8dMNx1ZRg.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The background component contains all of the user photos that we’ll pull from the fetch. But I’ve made Background it’s own component, and then import it into Splash, so that the code remains cleaner and less cluttered. You can go ahead and set up the architecture of your app before you begin making the API if it’s easier for you to work that way. Now, let’s take a look at the Random User API, so we can see what data we want to grab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--94FShrO---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2124/1%2AR02G_Z2f5dARyFVV3vVmhQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--94FShrO---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2124/1%2AR02G_Z2f5dARyFVV3vVmhQ.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before you get too far into the project, it’s usually a good idea to go to the API and read any documentation available. This will usually give you a good idea of how the API is structured and how to access the data. Often, bigger APIs will have you register for a key, or have specific ways you need to access the data. Random User API is open source and easy to use, so we can avoid a lot of that hassle.&lt;/p&gt;

&lt;p&gt;Once you’ve had time to look over the API documentation, I usually like to pull the data up in a program called Postman. Postman is a great way to see the data and target the specific data you want. If you haven’t downloaded it already, go ahead and take a second to do that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Jdn_7BMM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1716/1%2AB4kHpvOe0Iadv0I_r8UB_w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Jdn_7BMM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1716/1%2AB4kHpvOe0Iadv0I_r8UB_w.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, in postman, you will notice a couple of things. At the top, I’ve put the API address into the search bar. Since we’re retrieving data, I’ve set the request to a GET request. If this were an API that we had constructed, we could also do a POST, PUT or DELETE request, if we needed to. After the API address I’ve added one line, “results=500”. I want to make sure the Thumbnail pictures we pull fill the entire background, so I’m asking the API to return 500 results.&lt;br&gt;
Now, suppose we were pulling data from the API, and instead of the background, we were making a user profile site. We might only want 1 result, or 3, or whatever. You can filter the results in many different ways, but for now, this is as complicated as we are getting. If you scroll through the data, you can see there’s quite a lot there. I’ve highlighted the data that we want. We don’t want any text data, only the pictures. And not just pictures. We only want the thumbnails, which are part of the picture object. Once we know what we want, and we can see in postman where that data is nested, it’s easier for us to target later.&lt;br&gt;
Okay, now comes the fun part.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mwbtHA8e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1748/1%2A-84RQ5CoiIY2V2hY00OybQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mwbtHA8e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1748/1%2A-84RQ5CoiIY2V2hY00OybQ.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are in the background component. Like I mentioned earlier, to do a fetch in React, we’ll need to use 3 lifecycle methods. You can look at this as a 3 step process.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 1: Constructor Method&lt;/b&gt;&lt;br&gt;
In the constructor method, we only have to worry about two things. Once we call the constructor method, we use super to pass any props from the parent to the child component. Then we set the state. I mentioned the state earlier. When you set the initial state, you want to set it as empty, or blank. If it’s going to be a string, it would be an empty string. If an array, an empty array, etc. In this scenario, we only have one thing that we need to set the state of, and that’s the pictures. Because we want our pictures in an array, we’re setting it now to an empty array. Then, once we use the fetch to retrieve the data, we’ll go in afterward, and set the new state to the data that we’ve pulled.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 2: ComponentWillMount&lt;/b&gt;&lt;br&gt;
In React, lifecycle methods including “Will” are called before something happens. Lifecycle methods including “Did” are called after something happens. In this case, we want to call the method before, and then pull the data, which is why we are using componentWillMount instead of componentDidMount.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 2, part A: Fetch:&lt;/b&gt;&lt;br&gt;
Once you’ve done one fetch, you’ve basically done a thousand. The format will be more or less the same for each one, with just minor differences in how you want to map over the data, etc. In this fetch, we’re calling the fetch, and if you’ll notice in the web address, I’ve included the “results=500” filter that I pointed out earlier. Once you have targeted the data the way you want in postman, you can just copy and paste that URL into your fetch.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 2, part B: Results:&lt;/b&gt;&lt;br&gt;
Here, we’re just specifying how we want the data returned. Since JSON is easy to work with, and that’s how this data is formatted, that’s what we’re expecting here.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 2, part C: Map:&lt;/b&gt;&lt;br&gt;
Here, we’re mapping over the data that we’ve pulled. This is basically the same thing as doing for a loop. If you’re more comfortable using a for loop, there’s probably no reason you can’t do that. However, sometimes the map function just seems to work better. Think of mapping like this, We’ve told the API we want to get 500 user data objects. If we go back to the postman, we can see that each user data object contains a lot of information we don’t want, like numbers, addresses, etc. So we need to map over it first. Then, we can tell the API, “Hey dude, all we really need are these pictures here. Let’s just discard everything else”.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 2, part D: Key and Return data:&lt;/b&gt;&lt;br&gt;
There are two parts to this step. First, we have to set the key, and then specify the data object. The key attribute is used by React to ensure that dom elements correspond with data objects. Here, we’ve set the key to pic.results. Then, we’ve created an image tag, with a source that’s set to the data we want to pull. Basically what’s happening here is we’ve set a key inside the parent container. Then, inside the parent container, we’re saying, “Okay here’s an element…and whenever all the data is mapped over, we want it to populate this element with that data.” Because we want pictures, that’s why we’re using an img element.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step2, Part E: Set State&lt;/b&gt;&lt;br&gt;
Now the last part of this lifecycle method, and arguably the most important. We need to set the new state of our pictures empty array. Using ‘this.setState’, we’re basically saying, “Hey React, remember that empty array we defined as ‘pictures’ earlier? Well, now we want to change its state. So we’re changing it to this array of pictures we pulled from the API. Is that okay with you?” React is usually pretty nice, so I don’t think it will mind.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Step 3: render:&lt;/b&gt;&lt;br&gt;
Finally, the last lifecycle method, which is the render. Here, we want to use the new state we defined in the componentWillMount lifecycle method. So, we’re setting up a structure here, and then using curly braces to bring in that state “{this.state.pictures}”&lt;/p&gt;

&lt;p&gt;I hope you enjoyed the article and understood how to fetch API data with ReactJS.&lt;/p&gt;

</description>
      <category>react</category>
    </item>
  </channel>
</rss>
