Introduction
What You Need
Why Clojure?
Why Make Web Apps in Clojure?
Getting Your Feet Wet
Set Up Your Environment
Managing Projects with Leiningen
Build Your First Web App
Refine Your App excerpt
What You’ve Learned
Luminus Web Stack
Route Requests with Ring
Extend Ring
Define the Routes with Reitit
HTML Templating Using Selmer
What You’ve Learned
Luminus Architecture
Manage the Project
Think in Terms of Application Components
Managing Stateful Components
What You’ve Learned
Introducing Clojurescript
Understand ClojureScript
Add ClojureScript Support
Build the UI with Reagent excerpt
Managing State with Re-Frame
What You’ve Learned
Setting Up for Success
Services
ClojureScript Development Tools
Embracing Re-Frame
Multi-User With Websockets excerpt
Upgrading to Sente
Events and Effects in Re-Frame
What You’ve Learned
Planning Our Application
Opening (i.e. pitch)
What’s in an MVP?
Technical Planning/Architecture
Planning ahead/Architecture Principles (re-title)
What you’ve learned
Account Management
Authentication
Connecting Posts to Users
Allow users to customize their profile
Likes/Stars
What You’ve Learned
Advanced Feeds
User Blogs
User Feeds
Post Deletion
Post Boosting
Post Replies
Images/Audio/Markdown (with scaffold for gen. purpose multimedia/format)
Exercises
What you’ve learned
Deployment
Exercises
Multimedia Posts
Tagged Posts
Comments/Replies/Threading
NOTES
Editor Configuration
Clojure Primer
A Functional Perspective
Data Types
Using Functions
Anonymous Functions
Named Functions
Higher-Order Functions
Closures
Threading Expressions
Being Lazy
Structuring the Code
Destructuring Data
Namespaces
Dynamic Variables
Polymorphism
What About Global State?
Writing Code That Writes Code for You
The Read-Evaluate-Print Loop
Calling Out to Java
Calling Methods
Summary
· · · · · · (
收起)
还没人写过短评呢
还没人写过短评呢