Slide 1

Slide 1 text

The Art Of Plugin Development Ben Croker @ben_pylo PutYourLightsOn

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Personal Home Page Tools

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

CS101 Travelling Salesman Problem: Given a set of cities and distances between every pair of cities, find the shortest possible route that visits every city exactly once and returns back to the starting point.

Slide 7

Slide 7 text

PHP Hypertext Preprocessor

Slide 8

Slide 8 text

“ElePHPant”

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Percentages of websites using various server-side programming languages 20 % 40 % 60 % 80 % 100 % PHP ASP.NET Static Files Java Ruby ColdFusion JavaScript Perl Python 0.2 % 0.3 % 0.5 % 0.6 % 0.6 % 2.2 % 2.3 % 12.9 % 83.5 % Source: W3Techs.com, September 2018

Slide 11

Slide 11 text

Open source, object-oriented, web application framework.

Slide 12

Slide 12 text

Application Management Content Framework Driven Platform System Module Plugin Web Data Plugin Module 2

Slide 13

Slide 13 text

The Reality “That’s not a bug, that’s a feature.” Features Testing Updates Bug Reports Troubleshooting Documentation

Slide 14

Slide 14 text

Writing New Code Modifying Existing Code Understanding Code Source: “What Do Programmers Really Do Anyway?” by Peter Hallam

Slide 15

Slide 15 text

Understanding Code

Slide 16

Slide 16 text

There is no such thing as beautiful code.

Slide 17

Slide 17 text

User Experience Driven Development The biggest challenge is understanding the problem that you are trying to solve.

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Possibility vs Feasibility A plugin should do one thing and do it well.

Slide 21

Slide 21 text

Warp Time Don’t get distracted by the noise.

Slide 22

Slide 22 text

Refactoring Restructuring your code for readability and reusability without changing its external behaviour. Technical Debt Maintainability Readability Reusability Complexity Bloat

Slide 23

Slide 23 text

} }

Slide 24

Slide 24 text

Documentation

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Specialisation

Slide 29

Slide 29 text

do the demo

Slide 30

Slide 30 text

Craft 3 plugin development videos have landed. Available today.

Slide 31

Slide 31 text

In conclusion...

Slide 32

Slide 32 text

Thank You Ben Croker @ben_pylo PutYourLightsOn

Slide 33

Slide 33 text

Acknowledgements Pixel & Tonic – creators of Cra CMS JetBrains – makers of PhpStorm Alexander Makarov – core maintainer of Yii Ryan White – advice and guidance on presentation Ryan Irelan – training partner and founder of cra quest.io Simon Oberrauner – paragliding photos Vladimir Reznichenko – creator of Php Inspections and Yii2 Inspections Ondřej Mirtes – creator of PHPStan Philip Sharp – editor of afieldguidetoelephpants.net Programming Wisdom (@CodeWisdom) – inspirational quotes The entire Cra CMS community for their endless support and willingness to help each other out!