

In this chapter, I’ll show you the most important conventions, and then provide a few hints as to next steps.Īs you start working with app-packages, you may find that you enjoy the process of package development and want to learn more. The core idea of a package is that it’s a set of conventions for organising your code and related artefacts: if you follow those conventions, you get a bunch of tools for free. It’s easy to think of packages as giant complicated things like Shiny, ggplot2, or dplyr. In the long run, it also helps you document complex apps using roxygen2, although we won’t discuss that in this book. The package structure will pay off further when we talk about testing in Chapter 21, because you get tools that make it easy to run the tests and to see what code is tested. It’s a long way from a complete package, but it’s still useful because it activates new tools that make it easier to work with larger app. This structure gets your toes into the water of package development. Write a function that starts your app (i.e. calls shinyApp() with your UI and server).Ĭreate a DESCRIPTION file in the root directory of your app. # ─ saving partial Rd database (14m 25.4s)Īt last, I delete and just leave The issue solved.If you are creating a large or long-term Shiny app, I highly recommend that you organise your app in the same way as an R package. # ─ installing the package to process help pages # ✓ checking DESCRIPTION meta-information. Now, it becomes (running slow for "installing the package to process help pages") # ✓ checking for file ‘*/DESCRIPTION’ (611ms) # ─ checking for empty or unneeded directories # ─ checking for LF line-endings in source and make files and shell scripts # ✓ checking DESCRIPTION meta-information

The building messages used to be like ✓ checking for file ‘*/DESCRIPTION’.

So, I changed the documentation for the data: I used to write as \url so I changed it.
