7That's it! We've built our agent and React front-end, put together a desk and
8published it. We hope this walkthrough has helped you see how all the pieces
9for together for building and distributing an app in Urbit.
11The reference material for each section of this walkthrough is listed
12[below](#reference-material), the source code for our app is available
13[here](https://github.com/urbit/docs-examples/tree/main/journal-app), and it can
14be installed from `~pocwet/journal`.
16In this guide we've built a separate React app for the front-end, but Hoon also
17has a native domain-specific language for composing HTML structures called Sail.
18Sail allows you to compose a front-end inside a Gall agent and serve it
19directly. See the [Sail guide](/docs/hoon/guides/sail) for details.
21Along with `@urbit/http-api`, there's also the `@urbit/api` NPM package, which
22contains a large number of helpful functions for dealing with Hoon data types
23and interacting with a number of agents - particularly those used by the Groups
24app. Its source code is [available
25here](https://github.com/urbit/urbit/tree/master/pkg/npm/api).
29Here is the reference material for each section of this walkthrough.
33- [Gall Guide /sur section](/docs/userspace/gall-guide/7-sur-and-marks#sur) -
34 This section of the Gall Guide covers writing a `/sur` structure library for
37- [Ordered map functions in
38 `zuse.hoon`](https://github.com/urbit/urbit/blob/master/pkg/arvo/sys/zuse.hoon#L5284-L5688) -
39 This section of `zuse.hoon` contains all the functions for working with
40 `mop`s, and is well commented.
44- [The Gall Guide](/docs/userspace/gall-guide/intro) - The Gall Guide covers all
45 aspects of writing Gall agents in detail.
47- [Ordered map functions in
48 `zuse.hoon`](https://github.com/urbit/urbit/blob/master/pkg/arvo/sys/zuse.hoon#L5284-L5688) -
49 This section of `zuse.hoon` contains all the functions for working with
50 `mop`s, and is well commented.
52- [`/lib/agentio.hoon`](https://github.com/urbit/urbit/blob/master/pkg/base-dev/lib/agentio.hoon) -
53 The `agentio` library in the `%base` desk contains a large number of useful
54 functions which making writing Gall agents easier.
58- [The JSON Guide](/docs/hoon/guides/json-guide) - The stand-alone JSON guide
59 covers JSON encoding/decoding in great detail.
60- [The Zuse Reference](/docs/hoon/reference/zuse/table-of-contents) - The
61 `zuse.hoon` reference documents all JSON-related functions in detail.
63- [`++enjs:format` reference](/docs/hoon/reference/zuse/2d_1-5#enjsformat) -
64 This section of the `zuse.hoon` documentation covers all JSON encoding
67- [`++dejs:format` reference](/docs/hoon/reference/zuse/2d_6) - This section of
68 the `zuse.hoon` documentation covers all JSON _decoding_ functions.
70- [Eyre Overview](/docs/arvo/eyre/eyre) - This section of the Eyre vane
71 documentation goes over the basic features of the Eyre vane.
75- [The Marks section of the Clay documentation](/docs/arvo/clay/marks/marks) -
76 This section of the Clay vane documentation covers mark files comprehensively.
77- [The mark file section of the Gall
78 Guide](/docs/userspace/gall-guide/7-sur-and-marks#mark-files) - This part of
79 the Gall Guide goes through the basics of mark files.
81- [The JSON Guide](/docs/hoon/guides/json-guide) - This also covers writing mark
82 files to convert to/from JSON.
86- [The Eyre vane documentation](/docs/arvo/eyre/eyre) - This section of the vane
87 docs covers all aspects of Eyre.
88- [Eyre External API Reference](/docs/arvo/eyre/external-api-ref) - This section
89 of the Eyre documentation contains reference material for Eyre's external API.
91- [The Eyre Guide](/docs/arvo/eyre/guide) - This section of the Eyre
92 documentation walks through using Eyre's external API at a low level (using
95#### React App Setup and Logic
97- [HTTP API Guide](/docs/userspace/http-api-guide) - Reference documentation for
101 code](https://github.com/urbit/docs-examples/tree/main/journal-app/ui) - The
102 source code for the Journal app UI.
104- [`@urbit/http-api` source
105 code](https://github.com/urbit/urbit/tree/master/pkg/npm/http-api) - The
106 source code for the `@urbit/http-api` NPM package.
110- [App publishing/distribution docs](/docs/userspace/dist/dist) -
111 Documentation covering third party desk composition, publishing and
114- [Glob documentation](/docs/userspace/dist/glob) - Comprehensive documentation
115 of handling front-end files.
117- [Desk publishing guide](/docs/userspace/dist/guide) - A step-by-step guide to
118 creating and publishing a desk.
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list