Cross-Browser Compatibility and React.js Web Apps

Sometimes I feel that events in life happen in a sequence so that you regularly come across ‘cringe’ moments. Like when you have sand in your mouth or you hear the excruciating sound of nails against a chalk board. For me, personally, the worst cringe-worthy moment is when I come across a really bad web app or website. When I say bad, I mean Internet Explorer bad (just kidding, it’s a nice browser). Directionless navigation, features that are not working, bad design, and painful UX. But, the biggest problem is missing cross-browser compatibility.
Why React?
React is simply a UI and functionality library for JavaScript-based apps. We recently talked about React.js in our last post, Choosing the Right JavaScript Framework in 2018. So, in this post, we would look in more detail at how React.js helps in the development of cross-browser compatible web apps.

Link: https://dzone.com/articles/cross-browser-compatibility-and-react-js-web-apps

DOM Manipulation in D3.js

D3 (Data-Driven Documents or D3.js) is a JavaScript library for visualizing data using web standards. It is an open source JavaScript library developed by Mike Bostock to create custom interactive data visualizations in the web browser using SVG, HTML, and CSS. Giving you the full capabilities of modern browsers and the freedom to design the right visual interface for your data.
Here, first, we need to import D3 library d3.min.js into our HTML page.

Link: https://dzone.com/articles/dom-manipulation-in-d3js?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+dzone%2Fwebdev

Refactoring C Code: SSL Errors and Clients

Getting errors from SSL isn’t easy. Sometimes, I think that so much encryption has wrapped things up and error reporting are treated as secret information that must be withheld. The root of the problem is that SSL doesn’t really have a way for the two communicating parties to tell each other: “I don’t trust you because you wear glasses.” There are some well known error codes, but, for the most part, you’ll get a connection abort. I want to see what it would take to provide good error handling for network protocol using SSL that handles:

No certificate provided.
Expired/not yet valid certificate provided.
Unfamiliar certificate provided.

In order to do that, we must provide this error handling at a higher level than SSL. Therefore, we need to provide something in a higher layer. In this protocol, the first thing that the server will send to the client on connection will be “OK\r\n" if everything is okay, or some error string that will explain the issue, otherwise. This turned out to be rather involved, actually.

Link: https://dzone.com/articles/refactoring-c-code-ssl-errors-and-clients

Type Safe State Machines in TypeScript

State machines are everywhere but I don’t think they get enough air time. To remedy the situation I’m going to present an implementation in TypeScript and use it to model a very simple elevator.
I could point you to the definition of what a state machine is on Wikipedia but the name gives it away. State machines consist of states and a description of how to go from one state to the next. So let’s start spelling things out.

Link: https://dzone.com/articles/type-safe-state-machines-in-typescript?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+dzone%2Fwebdev

Refactoring C Code: Multi-Platform and Valgrind

I decided that it is time to take my network protocol and make it cross platform, so I tried to compile it on the Linux subsystem for Windows. As an aside, the fact that I could edit everything in Visual Studio while compiling using GCC and having immediate feedback is amazing, given the usual workflow that this entails. And I would very much like to hear about an IDE that is comparable to Visual Studio out there.
I got to say, the situation for dependencies on C/C++ is flat out horrible. I’m depending on OpenSSL for this code, and I have used VCPkg for actually setting up the dependency. On WSL, on the other hand, the OpenSSL packages are from 2014(!), so they were incompatible. I recompiled the lastest stable on WSL and tried to get it to work. It didn’t, first it didn’t put the new code in the right place and when I forced it to use the right paths, it failed with missing methods. It looks like I’m spoiled from the point of backward compatibility, but several methods have been deprecated or flat our removed.

Link: https://dzone.com/articles/refactoring-c-code-multi-platform-and-valgrind?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+dzone%2Fwebdev

How Will 5G Impact Mobile App Development?

When we look at 4G LTE, it has delivered exciting experiences to consumers: fast internet browsing, high-definition video streaming, smooth and reliable video conferencing (most of the time) and online gaming. Mobile infrastructure takes a leap every nine or ten years, and 4G LTE first went live in 2009 (Stockholm and Oslo) followed by a 2010 launch in the USA and (eventually) the UK in 2012.
Now phone designers and telecom providers are edging towards 5G deployment. But what does 5G mean for mobile developers and billions of end-users who could benefit from new mobile experiences? Faster mobile internet is surely expected, but it’s just one of the game-changing benefits.

Link: https://dzone.com/articles/how-will-5g-impact-mobile-app-development?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+dzone%2Fwebdev

How to Learn React.js, Part 2: The React Road Map for Modern Web Developers

Welcome back! If you missed Part 1, check it out here! 8. Form Helpers Apart from type checkers, it’s also good to learn form helpers, like Redux Form, which provides the best way to manage your form state in Redux. Apart from Redux Form, you can also take a look at Formik, Formsy, and Final form.

Link: https://dzone.com/articles/how-to-learn-reactjs-part-2-the-react-road-map-for?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+dzone%2Fwebdev

Need to Node – Volume 23

This week brings a rather low amount of activity in the Node.js organization thanks to the holiday season and people coming out at the end of conference season exhausted as usual. Nevertheless, there have been a few developments in Node.js and the broader ecosystem since the last Need to Node that you should definitely be keeping an eye on. Let’s dig in.

Link: https://dzone.com/articles/need-to-node-volume-23?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+dzone%2Fwebdev

Testing Your PWA: Progressive Web Application

PWAs or Progressive Web Applications are creating quite a buzz in the tech space. The increased number of mobile users and the app-like experience which they provide contributed a lot to their popularity. But what are PWAs and how are they different from native mobile apps? How are PWAs developed and what are the key points which a tester should keep in mind while testing them? Let’s take a look.
Before jumping directly into how to test a Progressive Web App, we should first understand what exactly PWAs are and the key points which a tester has to keep in mind while testing them.

Link: https://dzone.com/articles/testing-your-pwa-progressive-web-application