Outstanding User Interfaces with Shiny provides the reader with necessary knowledge to develop beautiful and highly interactive user interfaces. It gives the minimum requirements in HTML/JavaScript and CSS to be able to extend already existing Shiny layouts or develop new templates from scratch. Suitable for anyone with some experience of Shiny, package development and software engineering best practices, this book is an ideal guide for graduates and professionals who wish to bring their app design to the next level.
Key Features:
- Provides a survival kit in web development to seamlessly get started with HTML/CSS/JavaScript
- Leverage CSS and Sass and higher-level tools like {bslib} to substantially enhance the design of your app in no time
- A comprehensive guide to the {htmltools} package to seamlessly customize existing layouts
- Describes in detail how Shiny inputs work and how R and JavaScript communicate
- Details all the necessary steps to create a production-grade custom template from scratch: packaging, shiny tags creation, validating and testing R components and JavaScript
- Expose common web development debugging technics
- Provides a list of existing templates, resources to get started and to explore
Chapter 1 Shiny and the Web
Chapter 2 Manipulate HTML tags from R with {htmltools}
Chapter 3 Discover Shiny dependencies
Chapter 4 Handle HTML dependencies with {htmltools}
Chapter 5 Web application concepts
Chapter 6 CSS for Shiny
Chapter 7 Tidy your CSS with Sass
Chapter 8 Beautify with {fresh}
Chapter 9 Become a theming wizard with {bslib}
Chapter 10 JavaScript for Shiny
Chapter 11 Communicate between R and JS
Chapter 12 Understand and develop new Shiny inputs
Chapter 13 Shiny inputs lifecycles
Chapter 14 Mastering Shiny’s events
Chapter 15 Optimize your apps with custom handlers
Chapter 16 Define dependencies
Chapter 17 Create template elements
Chapter 18 Develop custom input widgets
Chapter 19 Adding more interactivity
Chapter 20 Testing and validating templates elements
Chapter 21 Automate new template creation with {charpente}
Chapter 22 Introduction
Chapter 23 Reconstruct {shinyMobile}
Chapter 24 {shinyMobile} and PWA
Chapter 25 Design widgets
Chapter 26 Fine tune {shinyMobile}
Chapter 27 Shiny and React with {reactR}
Chapter 28 Divide and Conquere
Chapter 29 What to do next?
Appendix A Code Outputs
Bibliography
Biography
David Granjon holds a PhD in applied mathematics from Université Pierre et Marie Curie and Université de Lausanne. He is the founder and maintainer of the open source RinteRface organisation (https://rinterface.com) where he develops Shiny extensions ({bs4Dash}, {shinyMobile}, {shinydashboardplus}, …) and deliver novel advanced Shiny workshops in worldwide R conferences like useR or R in Pharma. David works as a full-fulltime Senior Data Science Expert at Novartis where he provides his expertise to help associates to design outstanding user interfaces for clinical trials.