Facebook Isn’t Budging on React’s BSD + Patents License – WordPress Tavern

Facebook Isn’t Budging on React’s BSD + Patents License  #reactjs #WordPress

  • Last month React users petitioned Facebook to relicense the project (and its other open source projects) after the Apache Software Foundation (ASF) added Facebook’s BSD+Patents license to its Category X list of disallowed licenses for Apache PMC members.
  • The request for re-licensing had received 851 “thumbs-up” reactions on GitHub and many developers commented to say that the ASF’s policy disallowing the BSD+Patents license affects their organizations’ ability to continue using React and other open source projects from Facebook.
  • Wolff’s post announcing Facebook’s decision said that the team has not done a good job of communicating the reasons behind its BSD + Patents license and offered a more in-depth explanation:

    As our business has become successful, we’ve become a larger target for meritless patent litigation.

  • “While we respect this decision, it hurts to see so many great ASF projects get churned for policy reasons after using this license for years,” Wolff said in Facebook’s announcement.
  • The company made it clear that they will not be re-licensing React or any other projects simply to satisfy ASF’s policy requirements.

Last month React users petitioned Facebook to relicense the project (and its other open source projects) after the Apache Software Foundation (ASF) added Facebook’s BSD+Patents license to its Category X list of disallowed licenses for Apache PMC members. Participants and subscribers to the GitHub thread waited weeks for a decision on re-licensing while Facebook’s engineering directors discussed the matter internally. The request has now formally been denied.
Continue reading “Facebook Isn’t Budging on React’s BSD + Patents License – WordPress Tavern”

New & Upcoming Course Highlights: Introduction to Core Data & React Native

Read more about our new #ReactNative and #CoreData courses here:  #learntocode

  • Here’s a short list of what we’ve added recently, upcoming course highlights, and our weekly video update of What’s New at Treehouse.
  • React Native is a great option for creating performant iOS and Android applications that feel at home on their respective platforms, all while building on any previous web development experience.
  • In this course we will be building the ultimate superhero app.
  • By the end of this course you should have the confidence to build upon the app that we started and take it to the next level.
  • Saving data on your device is a fundamental part of building apps and in this course we’re going to learn how to use the Core Data framework to persist data between launches by building a simple to-do list app.

Every week, new courses and workshops are published to the growing Treehouse Library! Here’s a short list of what we’ve added recently, upcoming course highlights, and our weekly video update of What’s New at Treehouse.
Continue reading “New & Upcoming Course Highlights: Introduction to Core Data & React Native”

Maintaining a fork of create-react-app as an alternative to ejecting

Maintaining a fork of create-react-app as an alternative to ejecting:  #ReactJS

  • How everything worksFacebook’s create-react-app is a multi-package repository, powered by Lerna.Lerna is a tool that optimizes the workflow around managing multi-package repositories with git and npm.
  • © Docs.So create-react-app is just a shell storing all its packages in a /packages folder.
  • After you install it, it runs a postinstall command from the main package.json, which in turn runs Lerna’s bootstrap script, which does some magic: basically moves or symlinks nested packages into your main node_modules folder allowing to require or import them as usual.The only package you need to bother about is located in /packages/react-scripts.
  • It exposes all the configuration and scripts your own project (if it was generated by create-react-app), uses to start, build, etc.
  • Have a look at scripts section of your project’s package.json.Moreover, react-scripts is the only dependency left in your package.json after create-react-app have initialised.

I started using create-react-app instead of configuring build tools (webpack, babel, etc.) by myself a while ago and it saved me a lot of time and frustration. Thanks, Facebook! But.. Sometimes you…
Continue reading “Maintaining a fork of create-react-app as an alternative to ejecting”

Maximizing Debuggability with Redux – LogRocket

Making #Redux apps easier to debug #reactjs #webdev via @LogRocketJS

  • By using front end logging tools like LogRocket, developers can easily understand and fix tricky bugs in production by reviewing the actions and state changes leading up to a bug.While this information is immediately useful in any Redux app, there is a lot more we can achieve by architecting an app with logging in mind.
  • When debugging issues, we can dig into this state object to see information on in-flight requests, queryCount (if we’re polling on a query), and timings.Storing this information in Redux is critical, since it puts full context on all network activity in the Redux logs.Rolling your own data fetching “framework”If you’d prefer a simpler approach, you can roll your own data fetching “framework” by simply dispatching explicit actions when querying and receiving data from the network.For example, lets say we’re building a blogging app.
  • This would then update state appropriately to:postsQuery: { url: ‘api.blog.com/posts’, isPending: true, data: […],}This example is far from thorough, but the idea is that by being explicit with Redux actions for each part of the request lifecycle, it becomes easy to debug any potential race condition or network error.Handling other sources of non-determinismIn addition to network fetching, there are lots of other sources of non-determinism that can cause bugs.
  • For example:myWebSocket.onmessage = function (event) { store.dispatch({ type: ‘BLOG_POST_UPDATE_RECEIVED’, payload: event, } }That way, when looking at the Redux logs for an error or user-reported issue, we can see all the data that was received over the websocket and, crucially, relate it in time to other redux actions and network requests.Local StorageOften, an app needs to read from local storage when it first starts up.
  • Once you get the library set up, you’ll see a new key in your Redux store called routing with information on the current router state.In addition, react-router-redux dispatches actions like @@router/LOCATION_CHANGE when its state changes.Also of note is that using react-router-redux lets you rewind router state when time-traveling in redux-devtools, since its state its state is derived from the state in Redux.A note about local vs Redux stateI don’t want to get into the debate on local vs Redux state here, but production Redux logging does change the calculus of this decision in some cases.

In my last blog post, Redux Logging in Production, I discussed one of the most important benefits of using Redux — debuggability. By using front end logging tools like LogRocket, developers can…
Continue reading “Maximizing Debuggability with Redux – LogRocket”

Why Do Developers Now Compare Vue.js to JavaScript Giants Angular and React?

  • It was 2016 when Vue.js rose to fame and gained so much traction that it’s now seen as an alternative for even well established JavaScript libraries, such as Angular and React.
  • Since Angular belongs to search engine giant Google and React comes from social media behemoth Facebook, developers still trust and use those libraries more than Vue.js.
  • This blog attempts to shed light on why there is a growing belief among developers that Vue.js is set to become the top JavaScript library, leaving behind Angular and React.
  • The reason many developers are turning to Vue is that it addresses the issues of React and Angular.
  • But, one must not forget that Angular and React are still very big names in the JavaScript world, whereas Vue has just begun to rise.

Vue.js, an MIT-licensed open source project, is a JavaScript library for building web interfaces. The library was first released in 2013, but not many developers took cognizance of it in web framework technology for the next two years. It was 2016 wh
Continue reading “Why Do Developers Now Compare Vue.js to JavaScript Giants Angular and React?”

React.js Structures JavaScript for Easy Componentization  

  • JavaScript is in the midst of transforming development teams’ expectations for desktop, server and mobile apps.
  • Enhancements to JavaScript are enabling it to break free of the browser, while technologies such as Node.js and its package manager npm facilitate creation of portable front-end and back-end apps that rival those traditionally created for environments such as Windows, Linux and mobile devices.
  • Components encapsulate the necessary HTML, JavaScript and CSS for a particular component, and apps are built by composing components into larger components that encapsulate their own data and logic.
  • React and Facebook provide a number of recommendations and best practices to help developers build their apps, but developers ultimately shoulder the burden of building the app — creating or procuring the various components, designing the data architecture and testing plan, establishing the look and feel of the app, adapting to necessary display environments, and so forth.
  • Many of the ExtReact components leverage the data package to provide consistent buffering, sorting, filtering and pagination capabilities with minimal developer effort.

JavaScript is in the midst of transforming development teams’ expectations for desktop, server and mobile apps. Enhancements to JavaScript are enabling it to break free of the browser, while technologies such as Node.js and its package manager npm facilitate creation of portable front-end and back-end apps that rival those traditionally created for environments such as Windows, Linux and mobile devices.
Continue reading “React.js Structures JavaScript for Easy Componentization  “