Learning Web Development? These Skills Will Make You Stand Out (Part Two)

<strong>In part one of this article we discussed technical skills that, for people learning Web Development, could help you stand out from the crowd. The list was curated from discussions with experienced Web Developers across several communities, who felt the aforementioned skills were often neglected.</strong>

In part one of this article we discussed technical skills that, for people learning Web Development, could help you stand out from the crowd. The list was curated from discussions with experienced Web Developers across several communities, who felt the aforementioned skills were often neglected.

In part two of this article, we’re going to discuss the soft skills. What are soft skills? Pretty much anything that isn’t a technical skill is considered a soft skill.

So let’s get started.

Learn When/How To Ask Questions

Learning Web Development, like a lot of professions, is an endless journey to obtain knowledge. As someone learning Web Development, you’re inevitably going to have a lot of questions. Let me be clear, this is okay. I’ll go one step further and say it’s expected. With that said, there are right ways to ask questions and wrong ways. If you want to stand out as a Web Developer, it’s important that you learn the right way.

Help Yourself First

Before asking a question, you should learn to help yourself. Very few issues you run into during the beginning of your career are going to be novel. Chances are someone else has run into the exact same issue, found an answer to the problem, and documented the solution on the internet in some form.

Read the documentation, search the error message on Google, check Github for related issues, search Stack Overflow, and any other resource you can think of. If you can’t find the issue, your wording might be wrong and you may need to try some different variations.

RTFM

My Dad used to have a saying he’d tell me when I was learning something new. Read the f*cking manual. Maybe it’s not an overly elegant statement, but it rings very true when it comes to learning Web Development.

Before asking a question, try reading the documentation for the tech that you are working with. If nothing else, this will give you a better understanding of what’s going on and might be able to point you in the right direction.

I have a confession, the majority of times I run into an issue with a library or framework is because I didn’t read the documentation or glossed over the details. This is not specific to new Developers but is a concept that will solve problems before you run into them.

If you want to be a more consistent Web Developer, RTFM.

Show Your Work

Read all the documentation, combed the internet from top to bottom, still can’t figure it out? Now it’s time to ask your question. When asking a question make sure to include:

  • A clear summary of the issue including any error messages, side effects, context, stack traces, or other pertinent details.
  • A screenshot, gif, or video of the problem if it’s visual.
  • All of the approaches you’ve tried already.
  • The related code, if there is any.
  • Any related issues or documentation.

Stack Overflow wrote a good article about asking questions here.

One other thing. If you’ve found the solution to your problem but don’t understand it, make sure you ask for clarification. Remember, those who fail to learn from history are doomed to repeat it.

Learn To Think Like A Customer

We spend a lot of time learning to think like a Web Developer, so this one can be tricky. Being able to think like a Customer can mean the difference between one or two iterations of a feature, versus a dozen. So how do you learn to think like a Customer?

Talk To Them

Customers are the single most valuable resource for your development process. Why? Because they can tell you exactly what they want or at least give you specific details about how they plan to use a product or feature. This is valuable insight that you can use to plan your approach.

If you talk to your Customers often enough, you’ll begin to see the product through the eyes of someone using the product, instead of the eyes of a Developer trying to solve a technical challenge. The two perceptions are very different.

Get Early Feedback

When you’re working on something that directly relates to a Customer, try to get feedback as early as possible. After developing a rough idea of how something should work, I often like to create a gif of it working and send it to my clients for some quick feed back.

I can’t tell you how many times I’ve started coding, provided the client with a rough draft of the feature, and received feedback that prevented me from spending hours more on a feature that the client ultimately didn’t like. Do this enough and you’ll start to know what the Customer is going to say before the say it.

One thing to keep in mind. Be weary of showing a Customer something that is mid-development and subsequently broken. Sometimes Customers can’t see past your rough draft choices and it skews their perception.

Learn To Understand Why It Was Done That Way

This one is pretty straightforward. When you’re out there in the wild, there are times when you’ll find yourself staring down the barrel of some really gnarly code. When this happens, take the time to try and figure out why it was done that way. Most Developers want to write clean readable code, but the reality is that sometimes we are forced to write garbage.

Why? Because at the end of the day programming is usually used to solve business problems and business problems are often a mess. So take the time to understand why something was done the way it was and don’t assume you know better.

Nothing is worse than “refactoring” a block of code, only to find out you introduced a bunch of new bugs that the original code walked around carefully.

Learn To Properly Test

Yes, this means learn to write unit tests properly. However, it also means that you need to try your code before you push it out. Just wrote a new API end point? Don’t just get your unit tests passing and ship it. Test the end point in real world scenarios. Test it while thinking like a customer. Made front-end changes? Test it on all the browsers and at different screen sizes.

When your coworkers review your pull requests the only issues they should run into are edge cases. Even with edge cases, if you write good unit tests, you’ll likely catch those as well. Learning to properly test will make your code more consistent. Consistent code will label you a consistent Developer.

Learn To Properly Search

This is probably one of the most important soft skills you can learn when learning Web Development. If you can learn to properly search for answers to your problem, you’ll be close to unstoppable. 99.9% of the time the answer to your problem is out there on the internet, in a Github issue, article, or some obscure community forum. You just need to learn how to find it.

Here are some approaches you can use:

  • A clear summary of the issue including any error messages, side effects, context, stack traces, or other pertinent details.
  • A screenshot, gif, or video of the problem if it’s visual.
  • All of the approaches you’ve tried already.
  • The related code, if there is any.
  • Any related issues or documentation.

There is no formula to follow when learning to properly search for answers to your problem and the best approach is often specific to the type of technology you are working with. More important is that you commit to learning to find the answers on your own.

Don’t Do Things You Don’t Understand

I’m going to keep this one short. There are times when you are going to feel tempted to copy and paste code into your project without understanding how that code works. Don’t do this.

Either take the time to learn how it works, or don’t use it. This doesn’t mean you need to understand the inner workings of every plugin, package, or module before using them. It does mean that you should read the documentation for those tools before using them.

The Tip Of The Iceberg

There was an unreal amount of soft skills mentioned across all of the communities and unfortunately I can’t write about every single one in detail. Here is a list of some that I missed:

  • A clear summary of the issue including any error messages, side effects, context, stack traces, or other pertinent details.
  • A screenshot, gif, or video of the problem if it’s visual.
  • All of the approaches you’ve tried already.
  • The related code, if there is any.
  • Any related issues or documentation.

Thank you to everyone who was involved in the initial discussions. There were a lot of great suggestions and a lot valuable insight. For those learning Web Development, I hope these articles have provided you some value.

Good luck and happy learning.

Originally published by Colin Morgan at https://dev.to

Learn More

☞ The Web Developer Bootcamp

☞ Angular 7 (formerly Angular 2) - The Complete Guide

☞ Learn and Understand AngularJS

☞ The Complete JavaScript Course: Build a Real-World Project

☞ Become a JavaScript developer - Learn (React, Node,Angular)

☞ Build Responsive Real World Websites with HTML5 and CSS3

☞ Web Design for Beginners: Real World Coding in HTML & CSS

☞ React 16 - The Complete Guide (incl. React Router 4 & Redux)

☞ The Complete Node.js Developer Course (2nd Edition)

☞ MERN Stack Front To Back: Full Stack React, Redux & Node.js

Mobile App Development Company India | Ecommerce Web Development Company India

Mobile App Development Company India | Ecommerce Web Development Company India

Best Mobile App Development Company India, WebClues Global is one of the leading web and mobile app development company. Our team offers complete IT solutions including Cross-Platform App Development, CMS & E-Commerce, and UI/UX Design.

We are custom eCommerce Development Company working with all types of industry verticals and providing them end-to-end solutions for their eCommerce store development.

Know more about Top E-Commerce Web Development Company

React Web Development: A Guide to Develop Progressive Web Applications

React Web Development: A Guide to Develop Progressive Web Applications

Outperform your competition with progressive web development and React.

Progressive web applications (PWAs) quickly gained popularity because they are web performance applications based on fast performance, streamlined to provide a mobile app-like experience. PWAs are built using HTML, CSS, and JavaScript to create a level of availability and performance equivalent to that of native mobile applications. They respond quickly, consume less data, store more space, and support push notifications and offline use in the browser.

Building a progressive web application has now become the web development trend that every business wants to follow. Significant players like Twitter and Flipboard have recently rolled out their progressive web apps to provide a mobile experience for users, without requiring them to install the app. In this article, you will learn how to build a progressive web application using React. Let's get started.

Step One — Set up the React Application

First, create a React application with create-react-app. To do so, you need to run the following commands:

  • npm install -g create-react-app
  • create-react-app pwa-app

Now, install React Router:

You need to replace the content of src / App.js using the code below to get a basic template with navigation.

import React, { Component } from 'react';
import { Router, browserHistory, Route, Link } from 'react-router';
import './App.css';

const NavBar = () => (
<div className="navbar">
<Link to="/">Feed</Link>
<Link to="/profile">Profile</Link>
</div>
);

const Template = ({ title }) => (
<div>
<NavBar />
<p className="page-info">
This is the {title} page.
</p>
</div>
);

const Feed = (props) => (
<Template title="Feed"/>
);

const Profile = (props) => (
<Template title="Profile"/>
);

class App extends Component {
render() {
return (
<Router history={browserHistory}>
<Route path="/" component={Feed}/>
<Route path="/profile" component={Profile}/>
</Router>
);
}
}
export default App;

Now, you'll have to update the default styles by replacing your src/App.css with the styles below to make your application look clean.

.navbar {
background-color: #01C8E5;
text-align: center;
}

.navbar a {
display: inline-block;
padding: 10px;
color: #fff;
text-decoration: none;
}

.page-info {
text-align: center;
font-weight: bold;
}

Then, run npm start to test the application in the browser. It is basically an application with two routes. Now, you will convert it to PWA.

Step Two — Lighthouse Setting and Auditing

Lighthouse is an automated open-source tool for testing applications against PWA checklists. It facilitates audits for accessibility, performance, and more.

Check your application with Lighthouse. Click the Lighthouse icon from the top right corner in Chrome and then click the "Create Report" button. The generated report will look like this:

Creating a report to test your PWA with Lighthouse

Fix all failed audits.

Step 3 — Sign Up for a Service Staff

Service employees are proxy servers that connect the application and the network. With Service Worker, you will have to block network requests and save cached files. It allows your application to work even with an unavailable system.

Create an empty worker.js file in your application's general directory and add the following code to that file.

// Flag for enabling cache in production
var doCache = false;

var CACHE_NAME = 'pwa-app-cache';

// Delete old caches
self.addEventListener('activate', event => {
const currentCachelist = [CACHE_NAME];
event.waitUntil(
caches.keys()
.then(keyList =>
Promise.all(keyList.map(key => {
if (!currentCachelist.includes(key)) {
return caches.delete(key);
}
}))
)
);
});

// This triggers when user starts the app
self.addEventListener('install', function(event) {
if (doCache) {
event.waitUntil(
caches.open(CACHE_NAME)
.then(function(cache) {
fetch('asset-manifest.json')
.then(response => {
response.json();
})
.then(assets => {
// We will cache initial page and the main.js
// We could also cache assets like CSS and images
const urlsToCache = [
'/',
assets['main.js']
];
cache.addAll(urlsToCache);
})
})
);
}
});

// Here we intercept request and serve up the matching files
self.addEventListener('fetch', function(event) {
if (doCache) {
event.respondWith(
caches.match(event.request).then(function(response) {
return response || fetch(event.request);
})
);
}
});

Now, check if the browsers support service staff and then register worker.js. To do this, you need to add the following script to the file public/index.html (note that shrink-to-fit=no in the viewport meta tag has been deleted).

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<title>React App</title>
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('worker.js').then(function(registration) {
console.log('Worker registration successful', registration.scope);
}, function(err) {
console.log('Worker registration failed', err);
}).catch(function(err) {
console.log(err);
});
});
} else {
console.log('Service Worker is not supported by browser.');
}
</script>
</body>
</html>

You must restart your application and reload the browser after which you will see the Successful registration of member workers on the developer console. Now, recreate the Lighthouse report.

Step 4 - Improve the Progressive Nature of the Application

Your application will display an original blank div until the JavaScript loads and React hooks the original route. You must make sure your application works without downloading JS and displaying a bit of CSS and HTML before React takes effect. Your updated Index.html will look like this:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<title>React App</title>
<style type="text/css">
body {
margin: 0;
padding: 0;
font-family: sans-serif;
}
.navbar {
background-color: #01C8E5;
text-align: center;
}
.navbar a {
display: inline-block;
padding: 10px;
color: #fff;
text-decoration: none;
}
.page-info {
text-align: center;
font-weight: bold;
}
</style>
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root">
<div class="navbar">
<a href="/">Feed</a>
</div>
<p class="page-info">
Loading an awesome app...
</p>
</div>
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('worker.js').then(function(registration) {
console.log('Worker registration successful', registration.scope);
}, function(err) {
console.log('Worker registration failed', err);
}).catch(function(err) {
console.log(err);
});
});
} else {
console.log('Service Worker is not supported by browser.');
}
</script>
</body>
</html>

Now, use Lighthouse to retest your application, and you'll see an improvement in the performance of the application.

Step 5 - Add the Splash Icon

You are required to add a 512x512 icon to display on the screen. To do so, you will have to update the manifest.json file and add the t0 icon to the public directory.

{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"start_url": "/",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}

Also, use the following meta tags to allow the browser to determine that your application is a PWA.

<!-- Tell the browser it's a PWA -->
<meta name="mobile-web-app-capable" content="yes">
<!-- Tell iOS it's a PWA -->
<meta name="apple-mobile-web-app-capable" content="yes">
Step 6 — Implement PWA

Now, only HTTPS is missing, and the cache can be fixed after you deploy the application. Update the doCache flag with true in the worker.js file. Create a new project in the firebase dashboard and name it "Pwa Application." Then, run the following command in the project directory:

npm install -g firebase-tools
firebase login
firebase init

Your Firebase.json will look like this:

{
"hosting": {
"public": "build",
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}

After initializing, building and deploying your application.

  • npm run build
  • firebase deploy

You will see results after you test the application using Lighthouse on the deployed URL.

Final product with Lighthouse

Finally, you have created your first progressive web application with React.js!

Originally published by Manoj Kumar Bardhan at  dzone.com

=======================================================

Thanks for reading :heart: If you liked this post, share it with all of your programming buddies! Follow me on Facebook | Twitter

Learn More

☞ Understanding TypeScript

☞ Typescript Masterclass & FREE E-Book

☞ React - The Complete Guide (incl Hooks, React Router, Redux)

☞ Modern React with Redux [2019 Update]

☞ The Complete React Developer Course (w/ Hooks and Redux)

☞ React JS Web Development - The Essentials Bootcamp

☞ React JS, Angular & Vue JS - Quickstart & Comparison

☞ The Complete React Js & Redux Course - Build Modern Web Apps

☞ React JS and Redux Bootcamp - Master React Web Development


Web Development Services

Web Development Services

As one of the best Web Application Development Company, it provides a fine quality mobile app development service at an affordable price. Especially, it encourage start-ups that have unique ideas, by offering a more competitive price

HireFullStackDeveloperIndia is rated as one of the top Web Application Development Company in India by various industry magazines and review sites. They have a right blend of award-winning designers, expert programmers and Google certified digital marketers which make them a unique one-stop solution for hundreds of our clients, spread across all countries.

A Good website reflects not only your business but also it is one of the main factors why a potential customer would convert into Client. A good website design helps increase traffic driving leads to grow business. The best web design company create a custom design for each corporate website so as to help them meet their business goals.

Get Quote: https://hirefullstackdeveloperindia.com/get-a-quote/