-
Notifications
You must be signed in to change notification settings - Fork 35
/
index.html
111 lines (93 loc) · 3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
---
layout: page
title: Build apps like there is noBackend!
tab: home
---
<h2>It's <span id='currentYear'>the 21st century</span>. Why can't we just …</h2>
<div class="dreamcode">
<pre class="active"><code class="language-javascript">// create new account
signUp("[email protected]", "secret")</code></pre>
<pre><code class="language-javascript">// store an object
store.add({
type: "task",
title: "remember the milk"
})</code></pre>
<pre><code class="language-javascript">// convert a page to PDF
convert( document.body )
.to( 'report.pdf' )
.download()</code></pre>
<pre><code class="language-javascript">// reset a password
resetPassword("[email protected]")</code></pre>
<pre><code class="language-javascript">// send an email
sendEmail({
to: "[email protected]",
subject: "Report",
text: "Hey Jane,\n\n…",
html: "<h1>Hey Jane</h1><p>…</p>",
attachments: [
convert( document.body )
.to( 'report.pdf' )
]
})</code></pre>
<pre><code class="language-javascript">// upgrade an account
purchase(
account.upgradeTo("pro")
).using("paypal")</code></pre>
<pre><code class="language-javascript">// purchase a product
purchase('productId')
.using({
cc: "4556934156210213",
valid: "2020-10",
csc: "123"
})</code></pre>
<pre><code class="language-javascript">// get a coffee
device('192.168.2.2')
.do( 'coffee' )
.then( wakeMeUp )</code></pre>
<p class="next"><a href="#next">next</a></p>
</div>
<p>
<strong>noBackend</strong> is an approach to
decouple apps from backends, by abstracting
backend tasks with frontend code (<a href="{{ page.root_path}}dreamcode.html"><strong>Dreamcode</strong></a>).
This allows frontend developers to focus on
user experience and gives backend developers
more flexibility on the implementation side.
</p>
<p>
It ultimately leads to backends that can be used
out of the box (<a href="{{ page.root_path }}solutions.html"><strong>Solutions</strong></a>),
empowering frontend developers to build entire apps
(<a href="{{ page.report }}examples.html"><strong>Examples</strong></a>)
without thinking about backend at all.
</p>
<section class="posts">
<h2>Discuss with us!</h2>
<ul>
{% for post in site.posts %}
<li>
<strong>
<a href=".{{ post.url }}">{{ post.title }}</a>
</strong>
<a href=".{{ post.url }}#disqus_thread" data-disqus-identifier>comment</a>
</li>
{% endfor %}
</ul>
</section>
<!-- If JavaScript is enabled replace the generic "21st century" statement with the current year -->
<script>
var today = new Date();
var year = today.getFullYear();
document.getElementById("currentYear").innerHTML = year;
</script>
<!-- disqus: adding comment count -->
<script type="text/javascript">
var disqus_shortname = 'nobackend';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = '//nobackend.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
<!-- /disqus -->