Nodejs Workflow Improvements: Difference between revisions

From Yocto Project
Jump to navigationJump to search
(Created page with "== Summary == [https://en.wikipedia.org/wiki/Node.js Node.js] is a popular JavaScript runtime environment that is becoming popular among IoT developers. We propose that Yocto ...")
 
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Summary ==
== Summary ==
[https://en.wikipedia.org/wiki/Node.js Node.js] is a popular JavaScript runtime environment that is becoming popular among IoT developers. We propose that Yocto Project be enhanced to better support the typical Node.js workflow.  
Many industry pundits predict that IoT will not be built by traditional C/C++ embedded developers as there just aren't enough of them to go around. The 2016 Stack Overflow developer survey shows JavaScript to be the most popular language. [https://en.wikipedia.org/wiki/Node.js Node.js] is a popular JavaScript runtime environment. These two data-points indicate that Node.js is likely to become increasingly popular among IoT developers. The Yocto Project has some support for [[TipsAndTricks/NPM|npm project packaging]], but can be enhanced to better support the typical Node.js workflow.


== Typical Workflow Assumption ==
== Workflow Assumption ==
* Typical workflow involves tinkering with npm on the target and then locking down once app is working.
Typical workflow involves tinkering with npm on the target and then locking down once app is working.
* Open:


== Proposals and Opens ==
== Proposals and Opens ==
* Clarify rationale for mutliple nodejs layers: meta-oe, meta-nodejs, meta-intel-iot-middleware
* Comprehend Node.js LTS and decide what version we support
* Comprehend Node.js LTS and decide what version we support
* Move nodejs into openemebdded core?
* Move nodejs into openemebdded core?
Line 13: Line 11:
* Create image for node development (core-image-nodejs) with node and npm (and what else?)
* Create image for node development (core-image-nodejs) with node and npm (and what else?)
* Once project is working on target, how do we package it. devtool cleverness that sucks files from target?
* Once project is working on target, how do we package it. devtool cleverness that sucks files from target?
* Extend devtool to handle multiple layers to help structure complex projects


== Tasks in Bugzilla ==
== Tasks in Bugzilla ==
These are higher level tasks (may not be a 1:1 mapping for entries in Bugzilla)
See [https://bugzilla.yoctoproject.org/showdependencytree.cgi?id=10653&hide_resolved=1 Project Management bug #10653] that has all current Node.js tasks/bugs as dependencies.
* Give more developer feedback on progress during lengthy tasks
* Simplify deployment with devtool - node (and npm?) should be automatically deployed if not already on target
* Enable development on target and then devtool encapsulates resulting node.js project into package
* Add devtool support for multiple layers to help structure complex projects
* Everything else is in [https://bugzilla.yoctoproject.org/buglist.cgi?cmdtype=runnamed&namedcmd=nodejs Bugzilla]

Latest revision as of 22:58, 6 December 2016

Summary

Many industry pundits predict that IoT will not be built by traditional C/C++ embedded developers as there just aren't enough of them to go around. The 2016 Stack Overflow developer survey shows JavaScript to be the most popular language. Node.js is a popular JavaScript runtime environment. These two data-points indicate that Node.js is likely to become increasingly popular among IoT developers. The Yocto Project has some support for npm project packaging, but can be enhanced to better support the typical Node.js workflow.

Workflow Assumption

Typical workflow involves tinkering with npm on the target and then locking down once app is working.

Proposals and Opens

  • Comprehend Node.js LTS and decide what version we support
  • Move nodejs into openemebdded core?
  • Should we create a node.js category in Bugzilla ?
  • Create image for node development (core-image-nodejs) with node and npm (and what else?)
  • Once project is working on target, how do we package it. devtool cleverness that sucks files from target?
  • Extend devtool to handle multiple layers to help structure complex projects

Tasks in Bugzilla

See Project Management bug #10653 that has all current Node.js tasks/bugs as dependencies.