You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h1>Building web applications together, faster.</h1>
20
+
</header>
21
+
<p>While microservice architectures allowed teams to scale delivery of independently deployable services, most frontend layers are still run as monoluthic applications. Similar to server-side applications, frontend layers often grows into large monoliths that are difficult to mantain and evolve</p>
22
+
<p>The idea behind <ahref="https://www.thoughtworks.com/radar/techniques/micro-frontends"target="_blank">micro frontends</a> is to enable multiple teams to seamless work together by fostering end-to-end onwership of indipendently developed, tested and deployed features.</p>
23
+
<p>Think about UI as the composition of features which are maintained by independent teams. These teams could be cross functional allowing them to develop such features end-to-end, from database to user interface and indipendently deploy them.</p>
24
+
</article>
25
+
26
+
<divclass="hr">
27
+
<imgsrc="{{staticPath}}img/cube-small.png" />
18
28
</div>
19
-
<divid="footer">
20
-
Footer here
29
+
30
+
<article>
31
+
<header>
32
+
<h1>The OpenComponents framework</h1>
33
+
</header>
34
+
<p>OpenComponents is an opensource, "batteries included" micro frontends framework. Born at OpenTable in 2014, it matured over the years into a battle tested solution currently used to deliver micro frontends at scale by fast growing companies around the world.</p>
35
+
<divclass="block">
36
+
<imgsrc="{{staticPath}}img/components.png" />
37
+
<div>
38
+
<h2>Components</h2>
39
+
<p>Small, immutable, units of universal code mainly consisting of html, javascript and css. They can optionally contain some logic, allowing a server-side node.js application to compose a model that is used to render the view. After rendering they are pieces of pure html to be injected in any html page. <ahref="https://github.com/opentable/oc/wiki#components-management"target="_blank">Learn more</a></p>
<p>OC is unopionated about components and their underlying client-side JavaScript stack. The template system allows for support of any client-side technology, hiding away all the configuration complexity while avoiding specific UI framework lock-in. <ahref="https://github.com/opentable/oc/wiki/The-template-system"target="_blank">Learn more</a></p>
47
+
</div>
48
+
</div>
49
+
<divclass="block">
50
+
<imgsrc="{{staticPath}}img/registry.png" />
51
+
<div>
52
+
<h2>Registry</h2>
53
+
<p>The registry provide a rest API to consume, retrieve, and publish components to a library. When components depend on static resources (such as images, css files, etc.) these are stored, during packaging and publishing, in a publicly-exposed part of the library that serves as cdn. <ahref="https://github.com/opentable/oc/wiki/Registry"target="_blank">Learn more</a></p>
54
+
</div>
55
+
</div>
56
+
<divclass="block img-right">
57
+
<imgsrc="{{staticPath}}img/cli.png" />
58
+
<div>
59
+
<h2>CLI</h2>
60
+
<p>The CLI tool allows developers to create, develop, and test components locally. It also allow to publish components to live registry. <ahref="https://github.com/opentable/oc/wiki/Cli"target="_blank">Learn more</a></p>
61
+
</div>
62
+
</div>
63
+
<divclass="block">
64
+
<imgsrc="{{staticPath}}img/clients.png" />
65
+
<div>
66
+
<h2>Client libraries</h2>
67
+
<p>Multiple libraries are available, allowing to consume components on different environment and platforms. Depending on the library, client are normally able to consume both unrendered components and rendered components. <ahref="https://github.com/opencomponents/oc-client-node#oc-client"target="_blank">Learn more</a></p>
68
+
</div>
69
+
</div>
70
+
</article>
71
+
72
+
<divclass="hr">
73
+
<imgsrc="{{staticPath}}img/cube-small.png" />
21
74
</div>
22
-
</div>
75
+
76
+
<article>
77
+
<header>
78
+
<h1>Get started with OpenComponents</h1>
79
+
</header>
80
+
<p>Before starting make sure you have:<br />
81
+
<ul>
82
+
<li>An account on <ahref="https://signup.heroku.com/"target="_blank">Heroku</a></li>
83
+
<li>An <ahref="https://aws.amazon.com/s3"target="_blank">S3</a> bucket on AWS</li>
84
+
</ul>
85
+
</p>
86
+
<h3>#1 - Deploy the registry to Heroku</h3>
87
+
<p>
88
+
<aclass="button secondary"href="https://heroku.com/deploy?template=https://github.com/opencomponents/starter-kit"target="_blank">Click to deploy to Heroku</a> - deploy your OpenComponents registry
89
+
</p>
90
+
<h3>#2 - Build your first component</h3>
91
+
<p>Install the OpenComponents CLI</p>
92
+
<pre>$ npm install -g oc</pre>
93
+
<p>Create your first component</p>
94
+
<pre>$ oc init my-first-component</pre>
95
+
<p>Develop/test locally by starting a local dev registry</p>
<p>Your component is now published: <ahref="http://my-registry.on.herokuapp.com/my-first-component"target="_blank">http://my-registry.on.herokuapp.com/my-first-component</a></p>
0 commit comments