React.js gets a Fresh Update

reactJS

With Facebook’s founder testifying to the U.S. Congress, in unrelated news, the company’s React.js UI library for JavaScript recently received a new update. Version 16.3 of React provides a host of new features for developers hoping to add some efficiency to their web applications. If you are interested in downloading it, the update is available on Facebook’s own GitHub repository.

If your team isn’t using React, check out our previous articles covering it and its mobile variant, React Native. What follows is a high level overview of React version 16.3. News about the new update appeared in InfoWorld, among other sources.

A Look at the New Features of React.js 16.3

The main changes in the updated version of React involve improved management of the component lifecycle, as well as a new API to help developers better deal with context in their application. These new component lifecycles include: getDerivedStateFromProps and componentWillReceiveProps, which gives programmers a safer option than using the legacy versions. Another one, getSnapshotBeforeUpdate, safely handles the reading of properties before performing an update.

Some lifecycles are receiving an “unsafe” prefix to warn developers not to use them. Runtime safety isn’t the issue as much as the likelihood of deprecated functionality and subsequent incompatibility with future versions of React. In short, they are warning you about potential future bugs. Another reason for this is providing a “heads up” to engineers maintaining open source applications using React.

Facebook engineer, Brian Vaughan commented on what led to this new lifecycle functionality. “A few days ago, we wrote a post about upcoming changes to our legacy lifecycle methods, including gradual migration strategies. In React 16.3.0, we are adding a few new lifecycle methods to assist with that migration,” said Vaughan.

Another option involves using the new StrictMode component. This serves to identify any unsafe legacy lifecycles when running in development mode. It also warns about other side effects from using older lifecycles and React functionality. Expect additional features to be added to this component in future updates.

The New React Context API adds Efficiency

In addition to providing a boost in efficiency, React’s new Context API allows for static type checking and deep updates. Data is able to be passed through a component tree without the manual inclusion of props. The old API is expected to still work for a few more versions, so start updating your code to use to new one.

Facebook cautions about overusing the new API. “Don’t use context just to avoid passing props a few levels down. Stick to cases where the same data needs to be accessed in many components at multiple levels,” said the social network’s development team.

Other fresh features in React 16.3 include a new API for managing refs, called createrefAPI. This lets programmers access DOM nodes or React elements derived from the render process. The forwardRef API facilitates code reuse by help devs use higher-order components for this purpose.

Since React is effectively becoming a standard for UI development in web applications, we hope this look at its latest version provides some insights for you and your team. As always, thanks for reading the Betica Blog. We hope to see you again very soon!

News from the World of Software Development — March 2018

Welcome to this month’s edition of the software development news digest here at the Betica Blog. Hopefully, you are able to wean a few insights from the stories contained within. If you are interested in checking out last month’s digest, simply click on the following link.

 

Microsoft Meltdown Patch causing more Problems

If your development team still uses Windows 7 boxes, take heed. It appears a patch to fix the Meltdown chip flaw actually created a bigger hole on systems still running Windows 7 or Server 2008 R2. News about this new cybersecurity issue related to Meltdown/Spectre appeared this week in BleepingComputer.

In short, the Meltdown patch from Microsoft lets any user-level application to read or write data from the Windows 7 kernel memory. Oops! This raises an important question: how did this obviously flawed patch make it out of Redmond?

Ulf Frisk, an information security expert from Sweden, discovered the issue when using a device he created to perform I/O with protected memory. He noted that Microsoft’s January Meltdown patch (CVE-2017-5754) mistakenly flipped a bit used to control access to kernel memory.

Frisk explains: “In short – the User/Supervisor permission bit was set to User in the PML4 self-referencing entry. This made the page tables available to user mode code in every process. The page tables should normally only be accessible by the kernel itself.”

Thankfully, Microsoft fixed the issue in their March “Patch Tuesday” release. If your shop runs either Windows 7 or Server 2008 R2, make sure the latest patches are installed on all potentially affected systems. Windows 10 and 8.1 boxes remained unaffected.

 

Research Study notes Developers have Short Attention Spans

Are you finding it difficult to stay focused on completing your latest sprint? Is keeping your development team engaged throughout a long project becoming harder? Maybe this is due to programmers suffering from short attention spans?

That is one of the findings of a recent survey of software engineers published in Medium. In fact, another finding noted the average attention span for a singular task only lasts for two minutes. Let’s dive into the survey details to see what other interesting discoveries can be found.

The survey, a cooperative effort from universities in Switzerland and Canada, leveraged a monitoring application installed on the developers’ desktops. It tracked the efforts of engineers working at four companies of different sizes for around two weeks. Notably, it discovered that devs only spend half of their working day actually active on their computer.

One-quarter of developer time involves coding activities, while another quarter is spent in collaborative efforts – likely design meetings, daily standups, code reviews, etc. However, some of Medium’s own development staff feel the data is unrealistic based on the methodology. For example, an engineer may work on a singular programming task while switching between two apps, which gets tracked as two separate tasks in the study.

Nonetheless, the study’s findings offer some valuable food for thought on how to track development efforts, especially in an era increasingly dominated by Agile and DevOps. Read the Medium article for additional insights. They did conclude that email and meetings do siphon the productivity from developers.

That’s all we have for this edition of the Betica Blog news digest. As always, thanks for reading!

 

 

 

News from the World of Software Development – November 2017

Welcome to this month’s edition of the Betica Blog news digest, looking at a few recent stories of interest to the software development community. With the Holidays rapidly approaching, it becomes time to ramp up the effort to successfully reach your organization’s year end goals. Perhaps the stories within provide a measure of insight to inspire your team? If interested in last month’s digest, simply click on the following link.

Is DevOps’ Maturity Level being exaggerated by CIOs?

We regularly talk about DevOps: its growing adoption rate, the advantages it brings to the software development process, strategies on how to implement it, and more. A recent study by the tech industry research group, Forrester, notes that executives exaggerate the maturity level of their DevOps adoption. ZDNet reported on the study findings earlier this week.

In short, Forrester feels CIOs overstate their progress at implementing DevOps. According to the research firm: “[businesses] are gaining some speed, but the primary benefit connecting development and operations for both speed and quality is still elusive for many.” A major issue hampering full adoption involves the large cultural changes that need to happen for a successful implementation.

Increasing the speed of software delivery is one thing, but sometimes additional velocity comes at a cost in overall quality. This appears to be another issue affecting the perception of DevOps maturity. In fact, different perspectives exist between CIOs and DevOps practitioners as far as the overall success of the practice at their business.

Another reason executives exaggerate their organization’s success level with DevOps relates to overestimating the number of automated processes in place in their software development practice. Automation remains a key indicator of DevOps adding value to a company, according to Forrester.

Ultimately, Forrester concludes that “[f]or an enterprise to implement DevOps successfully, both executives and practitioners need to understand the current maturity state. Executives and practitioners differ widely in their perspectives on strategy, customer experience and progress they have made on their DevOps journey. When pros and executives are on the same page, your business wins!”

Microsoft lets F# target .NET Core Projects

Microsoft introduced .NET Core in August, an open source version of its software framework; an example of Redmond’s friendlier stance towards the open source software community. The preview version of Visual Studio, the company’s flagship IDE, allows F# programmers to target .NET Core as well the standard version of the framework. News about this new VS feature appeared this week in Visual Studio Magazine.

F# is Microsoft’s largely functional programming language that includes a measure of object-oriented and imperative methodologies. The F# Software Foundation also contributed to its development and produced an open source compiler for the language.

Microsoft’s Phillip Carter commented on the new F# support for .NET Core. “Finally, we are laying the groundwork for a long-term effort of migrating all F# projects to the new project system that .NET Core and .NET Standard projects use,” said Carter. Microsoft maintains a repository for their open source F# compiler and other related tools on GitHub.

Uses for F# abound; the language is especially known for its brevity and ease of maintenance. For example, Credit Suisse relies on the language for writing quantitative models for the financial industry. Other applications include asset portfolio optimization, machine learning, business intelligence, and more.

Hopefully this edition of the Betica Blog news digest provided some insight to help in your daily duties. As always, thanks for reading!