Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
How we use Go to do web development Jinzhu @ The Plant github.com/jinzhu
Slide 2
Slide 2 text
About Me
Slide 3
Slide 3 text
Design Pattern
Slide 4
Slide 4 text
MVC - Controller • Full Featured Framework ? • Minimalistic Framework ?
Slide 5
Slide 5 text
MVC - Controller • Full Featured Framework • Minimalistic Framework -> Gin github.com/gin-gonic/gin
Slide 6
Slide 6 text
MVC - Controller middleware route controller
Slide 7
Slide 7 text
MVC - Model • Hand Written SQL ? • ORM ?
Slide 8
Slide 8 text
MVC - Model • Hand Written SQL • ORM -> Gorm github.com/jinzhu/gorm
Slide 9
Slide 9 text
MVC - Model
Slide 10
Slide 10 text
MVC - View • Browser Side Views ? • Server Side Views ?
Slide 11
Slide 11 text
MVC - View • Browser Side Views -> React • Server Side Views -> Go Template
Slide 12
Slide 12 text
API • RESTful API • GraphQL
Slide 13
Slide 13 text
Front End Stuff WebPack • css/sass • javascript • image sprites
Slide 14
Slide 14 text
Deployment • Single Binary File -> Bindata github.com/jteeuwen/go-bindata • Deploy binary file to server -> Harp github.com/bom-d-van/harp
Slide 15
Slide 15 text
Zero Downtime • Endless -> port github.com/fvbock/endless • Grace -> port / socket github.com/facebookgo/grace
Slide 16
Slide 16 text
Data Administration QOR Demo: demo.getqor.com/admin Github Repoғgithub.com/qor/qor
Slide 17
Slide 17 text
QOR
Slide 18
Slide 18 text
QOR Initialize Add Resource Authorization
Slide 19
Slide 19 text
Not Only About Administration But everything about Web Development
Slide 20
Slide 20 text
Publish
Slide 21
Slide 21 text
Publish Just one line code
Slide 22
Slide 22 text
Localization
Slide 23
Slide 23 text
Localization Also one line code
Slide 24
Slide 24 text
Localization
Slide 25
Slide 25 text
Sorting
Slide 26
Slide 26 text
Sorting
Slide 27
Slide 27 text
Media Library
Slide 28
Slide 28 text
Media Library upload to filesystem upload to s3
Slide 29
Slide 29 text
How it works? No Magic
Slide 30
Slide 30 text
How it works? GORM Callbacks & Duck Programming
Slide 31
Slide 31 text
GORM CRUD Callbacks Plugin System github.com/jinzhu/gorm/blob/master/doc/development.md
Slide 32
Slide 32 text
Create Callbacks As Example
Slide 33
Slide 33 text
Create Callbacks As Example
Slide 34
Slide 34 text
Create Callbacks As Example do things that the plugin want to do
Slide 35
Slide 35 text
Lets create more things!
Slide 36
Slide 36 text
Thank You ‣ Jinzhu @ The Plant ‣ github.com/jinzhu ‣
[email protected]
We are hiring!