Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JAWS React Front-End Module: Design Specs & Help Wanted #41

Closed
austencollins opened this issue Aug 10, 2015 · 7 comments
Closed

JAWS React Front-End Module: Design Specs & Help Wanted #41

austencollins opened this issue Aug 10, 2015 · 7 comments

Comments

@austencollins
Copy link
Member

This thread is for discussing the JAWS-site-react module's design and finding developers who want to help build it

Overall, JAWS should support all front-end frameworks. There has been a lot of demand for JAWS + React support. So, let's start with React!

JAWS already comes with a site module. But you should be able to swap this out with another site module that is focused on a specific front-end framework. So, I'm proposing a new JAWS-site-react module/repo, which will contain JAWS + React boilerplate. Here are some design considerations:

  • Keep It Simple: There should be little bloat in this module. This module is for convenience, not strong opinions and obscure React patterns. Make it the best possible starting point for a React project, that is all.
  • Make It Extendable While this module is meant for convenience, there should be some mechanism for plugging in other JAWS + React modules. There have been lots of requests to do AWS stuff without API Gateway, since many tasks can be accomplished by using the AWS JS SDK in the browser to interact directly with AWS services. For example, a JAWS-site-react-s3-upload module would be incredibly useful and fast since it would upload from the browser, directly to S3. This module needs to also contain config files for the AWS Browser JS SDK and make them accessible to other JAWS + React modules.
  • Integrate With JAWS REST API JAWS will have Swagger integration finished soon. There should be some service that allows you easily interact with your JAWS REST API. Keeping this simple again is key. Perhaps we can get the JAWS-cli to automatically scaffold this for you based on your Swagger JSON.

These are just my opinions. Please contribute your thoughts/ideas/advice. Also, I'm not a great React developer, so I'm looking for some better people to take the lead on this. If you'd like to do that, please say so here :)

@SOSANA
Copy link

SOSANA commented Aug 10, 2015

Add me to this list

@austencollins austencollins changed the title JAWS REACT FRONT-END: Design Proposal & Help Wanted JAWS React Front-End Module: Design Proposal & Help Wanted Aug 10, 2015
@austencollins austencollins changed the title JAWS React Front-End Module: Design Proposal & Help Wanted JAWS React Front-End Module: Design Specs & Help Wanted Aug 10, 2015
@mcwhittemore
Copy link
Contributor

@ac360 I'm definitely interested. I think site should be where all complied FE modules live so that the cli can have a simpler time of deploying the FE assets.

Have you thought much about how basic you want these modules to be? Are we talking a simple set of entry point files, are we talking a fully fledged build system?

@mbreton
Copy link

mbreton commented Aug 10, 2015

@ac360 My first idea was to build an opinionated example with some of the battle tested tools like Gulp, JQuery, Moment, Lodash, JSPM, Mocha and so on... But after read your post, I thought about it and finally I agree with you. We have to keep it most simple as possible in order to the futur adopters don't have to learn an other tool than the tool which they are interested (JAWS + React in this case).
However, about extensibility, I reminds that React is a framework for View only, and is not supposed to be responsible for the calls to the backend. So, if we want build an example simple and clean too I think, we will need a structuration framework (Reflux for example or an other).

@SOSANA
Copy link

SOSANA commented Aug 11, 2015

opening pandora's box with flux implementation @mbreton lol this is where the real debate starts,
@ac360 made a great comment on gitter chat "Currently, I think JAWS should support multiple front-end frameworks, and each should have their own repo within the JAWS organization"

utilizing various repo's via modules is the way to go under the jaws organization. I think for demo purposes simple hello with basic routes implemented, but if other maintiners want to add addional modules with implementation I think that is under consideration :), that way we have the freedom to implement any bleeding edge technologies modules with various implementations, add my vote +1

@austinrivas
Copy link

Just finished a poc react ssr jaws demo. ( acronyms dawg...)

Currently it is using api gateway tied to a lambda to render markup lambda side.

If you have react inspector installed you'll notice that the html head and body elements are all actually react components rendered server side and bootstrapped on the client.

The build pipeline is explained in more detail over at jaws-stack/JAWS-cli/issues/9

Here is the live demo
Here is the source if anyone is looking for inspiration

It uses the same IAM and .env config as JAWS.

@austencollins
Copy link
Member Author

Update 8/13/15:

We’re currently working on a document that outlines the specifications for JAWS v1.0.0.

A proposed resolution to this issue in particular is included in that document.

Today or tomorrow, we will share the document for everyone to comment on because your feedback is essential.

@austencollins austencollins added this to the v1.0 milestone Aug 19, 2015
@austencollins austencollins removed this from the v1.0 milestone Feb 10, 2016
@austencollins
Copy link
Member Author

Outdated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants