Basic of React Native


React Native is a framework for developing native applications using JavaScript. React Native accumulates native app components that make it possible for you to build native mobile applications. React and React Native, both the frameworks are very similar, as React Native uses a set of mobile-tailored components carried by the React package. Some of those components are Text, Navigator, TextInput, ScrollView, View along with native iOS/Android UI components.

React Native: Business advantages

  • React Native comes with Native components and Native Modules that helps to improve performance, unlike PhoneGap, Cordova and other cross-platform frameworks. React Native extracts some of the code components with native API’s.
  • React Native has all the advantages that React.js is offering you simply focuses on a better UI.
  • There is no more requirement to build the same application for iOS and Android, separately as React Native lets you reuse the common logic layer.
  • React Native’s component-based structure let the programmers build apps with a more agile, web-style approach than hybrid frameworks.
  • If you have a basic understanding about JavaScript, React Native is so easy to pick-up as it allows most front-end web developers to be a mobile developer. All you need to know is some native UI elements, JavaScript, platform APIs and platform-specific design pattern and you’re set.
  • There is no more need to rebuild your existing app. All you are required to do is add React Native UI components into your existing app’s code, without having to rewrite it.
  • Native app development usually means slower time to deployment, inefficiency and less developer productivity. React Native is all about responsiveness, bringing high speed and agility of web app development along with the best user experience to the hybrid space to provide your users with a native app experience.

How is ReactJs different from AngularJS

React vs Angular

React vs Angular
TOPIC
REACT
ANGULAR
1. ARCHITECTURE
Only the View of MVC
Complete MVC
2. RENDERING
Server-side rendering
Client-side rendering
3. DOM
Uses virtual DOM
Uses real DOM
4. DATA BINDING
One-way data binding
Two-way data binding
5. DEBUGGING
Compile time debugging
Runtime debugging
6. AUTHOR
Facebook
Google


ReactJS basically is an open-source JavaScript library which is used for building user interfaces specifically for single page applications.

It's used for handling view layer for web and mobile apps. React also allows us to create reusable UI components.

It is fast, responsive, modular, we can create reusable files. It is scalable and flexible. Many more advantages but we will jump right into some basic concepts. DOM(Document Object Model) is the UI components, like elements, attributes.

React allows developers to create large web applications which can change data, without reloading the page. The main purpose of React is to be fast, scalable, and simple.

the React Framework. React (also known as React.js orReactJs) is a powerful JavaScript library that uses server-side rendering (SSR) with a unique twist—one that allows it to provide a flexible, performance-oriented, componentized solution for the “V” in MVC (Model View Controller).

Jmeter Distributed (Remote) Testing: Master Slave Configuration-Chapter 10


What is Distributed Testing?

Distributed Testing is a kind of testing which use multiple systems to perform Stress Testing. Distributed testing is applied for testing websites and server applications when they are working with multiple clients simultaneously.
Distributes testing uses client-server model as the figure below:
How to perform Distributed Testing in JMeter
  • Master: the system running JMeter GUI, control each slave.
  • Slave: the system running JMeter-server, receive a command from the master and send a request to a server under test.
  • Target: the web server under test, get a request from slaves.

Remote Test Example

Precondition:
  • The firewalls on the systems are turned off. In some cases, the firewall may still be blocking the traffic. You should disable the Window firewall or Linux firewall.
  • All the machines should be on the same subnet. If machines are not on the same subnet, maybe they will not recognize each other in the network.
  • Use the same version of JMeter to avoid unanticipated errors/issues.
Here is the roadmap for this testing:
How to perform Distributed Testing in JMeter

Step 1) System configuration

Setup slave systems, go to jmeter/bin directory and execute file "jmeter-server.bat".
Assume that a slave machine has IP address: 192.168.0.10. On windows, you should see a window appear like the following figure:
How to perform Distributed Testing in JMeter
On the master systems, go to /bin directory and edit file jmeter.properites, add IP slave machine as below
How to perform Distributed Testing in JMeter

Step 2) Run the test

At this point, you are ready to start load testing. On the master machine, run JMeter GUI and open the test plan.
Click Run on the menu bar; select Remote start -> select the IP address of slave machine
How to perform Distributed Testing in JMeter

Step 3) Troubleshooting

If you are unable to run test form the above machine and see below error, simply ask an owner of a slave machine to run the JMeter-server.bat File.
How to perform Distributed Testing in JMeter
Disable Firewall on both master and slave machines to fix this error.

Limitation:

There are some basic limitations for distributed testing. Here's list of the known items:
  • Server and all clients must be on the same subnet.
  • Distributed testing required target server to have the large processing power. The target Server could be easily overloaded in case it gets too many requests by distributed JMeter tests.
  • A single JMeter can only handle a limited number of threads (100- 300 threads).
  • The distributed JMeter tests are complex, difficult for a beginner to build.