Skip to content

Changes From FOAM2

Kevin Glen Roy Greer edited this page May 17, 2023 · 21 revisions

List of changes from FOAM2 to FOAM3:

  • Removed Angular support.
  • Removed Polymer support.
  • Removed DatastoreDAO.
  • Removed MCW support.
  • Removed ScrollDAOView. Use DAOList instead.
  • Removed com.google.foam.experimental package.
  • Allow for short-form entering of method arguments as comma separated lists. Ex. 'Context x, DAO dao'.
  • Removed foam.MOP support.
  • Removed Google Cloud Datastore DAO (com.google.cloud.datastore package). If needed, copy back from FOAM2.
  • The polyfill library poly.js file has been removed.
  • The continuation passing library cps.js file has been removed.

Proposed changes:

  • FOAM2 has two validation systems: the validate() method on FObject which throws an Exception, and the validateObject()/errors_ system defined in Validation.js. The two should be unified.
  • Remove support for function comments as multi-line strings.
  • Rename U2 internal properties and methods (like load()) to make clear which are public/internal and to avoid conflicts with common names
  • Rename foam.core to foam.lang or foam.model or ???.
  • Rename foam.nanos to foam.core.
  • Create a new experimental package.
  • Unify com.google.foam.demos, com.foamdev.demos, and foam.demos.
  • Rename com.google.flow to something else and move to under foamdev.
  • Move 'org' and 'io' packages to 'thirdparty' or 'ext'.
  • Move many models out of files.js and into specialized lists.
  • Unify files.js format with foam.CLASS(requires:)
  • Remove deprecated methods from U2 and elsewhere.
  • Rename NSpec to Service.
  • Unify XYZByExamples with examples.

See: Discussion

Clone this wiki locally