Skip to content
This repository was archived by the owner on Nov 22, 2024. It is now read-only.

ideas to leverage server environment to provide a better "developer experience" #45

Closed
PatrickJS opened this issue Aug 4, 2015 · 3 comments

Comments

@PatrickJS
Copy link
Contributor

Angular 2 now is able to run on the server so what's the next step?
We can now take advantage of the benefits of having this control over the client's environment. We can create a small server layer that uses any of the underlying Node Frameworks such as ExpressJS, Hapi.js, or Koa.js. Doing so would be a great way for, normally client only developers, to be introduced to the backend.

Having full control over the client's environment allows us to dramatically improve the developer experience with features such as:

  • TypeScript inline script tags
  • ES6 features such as and SystemJS
  • allow users to write a component DSL (such as JSX, RiotJS, or jsBlocks)
  • better control over testing/development/production environments
  • better logging
  • live app configuration
  • default jwt setup
  • asset pipeline
  • inject ES6 polyfills
  • inject RxJS as Observable
  • can be front-end agnostic
  • removing unnecessary Angular imports for each file (like Rails)

prior art
https://github.com/yahoo/fluxible
https://muut.com/riotjs
https://github.com/astoilkov/jsblocks
https://github.com/linnovate/mean
https://github.com/meteor/meteor
https://github.com/rails/rails
https://github.com/django/django
https://github.com/playframework/playframework
https://github.com/elierotenberg/react-nexus
https://github.com/facebook/relay

the Universal app is <app> while the Server app is the html document itself that we can call an <html> component.

<html>
  <head>
    <title>Fullstack Angular 2</title>
    <meta></meta>
  </head>
  <body>
    <app></app>
    <!-- app-scripts -->
  </body>
</html>

currently <doctype> needs to be injected after the fact

code samples
https://gist.github.com/gdi2290/efa2061467c92243ca58
https://gist.github.com/gdi2290/f07fd579c6ec911d2305
https://gist.github.com/gdi2290/7c2280655dbf50450444

modules:
mincer
RxJS Next
polyfills
bunyan
vantage
webpack
webpack-require
autopolyfiller

related:
ngScripts #72
Environment Service #44

@jeffbcross jeffbcross changed the title Fullstack Angular 2 ideas to leverage server environment to provide a better "developer experience" Oct 30, 2015
@jeffbcross jeffbcross modified the milestone: Backlog Oct 30, 2015
@jeffwhelpley
Copy link
Contributor

@gdi2290 This is not an actionable item in any way. Perhaps we should consider having a separate place (wiki or wherever) that has "thoughts for the future". Let's talk about this more and move it to the appropriate place.

@PatrickJS
Copy link
Contributor Author

let's just close it

@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants