Setting up your development environment
-
Upload
robert-deutz -
Category
Technology
-
view
850 -
download
2
description
Transcript of Setting up your development environment
![Page 1: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/1.jpg)
Development ToolsJoomladagen 2013
Robert Deutz
![Page 2: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/2.jpg)
Challenges
![Page 3: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/3.jpg)
DEVELOPMENT
TESTINGPA
CKAG
ING
![Page 4: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/4.jpg)
5 Areas
![Page 5: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/5.jpg)
Version Control
1
![Page 6: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/6.jpg)
Code quality and consistency
2
![Page 7: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/7.jpg)
Integrated Development Environment
3
![Page 8: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/8.jpg)
Some little tools
4
![Page 9: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/9.jpg)
Build tools
5
![Page 10: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/10.jpg)
1
![Page 11: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/11.jpg)
Version Control
![Page 12: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/12.jpg)
Never do development without a version control system
RULE 1
![Page 13: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/13.jpg)
CVS SVN
MercuryGit
Centralised
Distributed
![Page 14: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/14.jpg)
Centralised Version Control Systems
• very popular at the end of the last century
• complicated when working in not centralised teams
• merging and working on different things at the same moment is complicated
• still room for using it but NOT in an Open Source Project like Joomla!
![Page 15: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/15.jpg)
Distributed
• Best thing since sliced bread
• good for not centralised teams
• Supports merging and branching in an easy way
• It allows a group of people to work on different ideas and in parallel on a single codebase
![Page 16: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/16.jpg)
CVS SVN
MercuryGit
Centralised
Distributed
![Page 17: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/17.jpg)
GIT
![Page 18: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/18.jpg)
try.github.com
Got 15 minutes and want to learn Git?
![Page 19: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/19.jpg)
Tools if you don‘t like the command line
![Page 20: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/20.jpg)
Tower (MAC)
![Page 21: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/21.jpg)
Source Tree (MAC)
![Page 22: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/22.jpg)
2
![Page 23: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/23.jpg)
Code quality and consistency
![Page 24: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/24.jpg)
Write beautiful and well documented code.
RULE 2
ALWAYS
![Page 25: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/25.jpg)
We do
• use brackets
• use tabs
• format code always in the same way
• use meaningful function, variable, methods and class names
• use phpDoc Blocks
• not copy code (DRY: don‘t repeat yourself)
![Page 26: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/26.jpg)
We write helpful comments
As I wrote this code only god and I know what it is
doing, now only god knowsWRONG
Registers a handler to a particular event group. RIGHT
![Page 27: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/27.jpg)
3
![Page 28: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/28.jpg)
Integrated Development Environment
(IDE)
![Page 29: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/29.jpg)
We are using an IDE
RULE 3
WHEN IT MAKES SENSE
![Page 30: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/30.jpg)
I don‘t care which one
![Page 31: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/31.jpg)
IDEs
• Eclipse (Zend Studio, phpEclipse, .....)
• PHP Storm (free license for Joomla! developers)
• NetBeans IDE
• ......
![Page 32: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/32.jpg)
Cooler Editor: Sublime Text
• Packages for almost everything we need
• extremely fast
• Edit features from heaven
• .... but not an IDE
• comes closer and closer
![Page 33: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/33.jpg)
How to chose a IDE
• Don‘t give up!
• It need‘s time, so think first about your requirements
• Think about your development process, what you have to do to make sure that you can support your process properly
![Page 34: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/34.jpg)
My Setup
![Page 35: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/35.jpg)
4
![Page 36: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/36.jpg)
Some little tools
![Page 37: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/37.jpg)
We are trying to automate steps in our development process
RULE 4
DEVELOPERS ARE LAZY
![Page 38: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/38.jpg)
Code formattingCode Sniffer
![Page 39: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/39.jpg)
phpcs --standard=Joomla *
![Page 40: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/40.jpg)
OR
![Page 41: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/41.jpg)
integrate it in editor / IDE
![Page 42: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/42.jpg)
PHP Documenter
![Page 43: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/43.jpg)
Creates from your well documented and formated code an API
documentation, with just a klick
![Page 44: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/44.jpg)
![Page 45: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/45.jpg)
5
![Page 46: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/46.jpg)
Build tools
![Page 47: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/47.jpg)
Don‘t do it by yourself when a script can do it for you
RULE 5
![Page 48: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/48.jpg)
PHING(phing.info)
![Page 49: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/49.jpg)
extendable
executing commands
packaging
checkout from a repository
copy filesreplace tags in files
![Page 50: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/50.jpg)
extendable
executing commands
packaging
checkout from a repository
copy filesreplace tags in files
![Page 51: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/51.jpg)
Extendable
![Page 52: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/52.jpg)
2 FILES
![Page 53: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/53.jpg)
map
![Page 54: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/54.jpg)
![Page 55: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/55.jpg)
![Page 56: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/56.jpg)
packaging
![Page 57: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/57.jpg)
![Page 58: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/58.jpg)
Hartstikke bedankt!
Twitter: rdeutzEmail: [email protected]: rdbs.deWeb2: babioon.comWeb3: robert-deutz.de
![Page 59: Setting up your development environment](https://reader034.fdocuments.us/reader034/viewer/2022051515/557004a1d8b42a84618b52c0/html5/thumbnails/59.jpg)
[1] http://digitaldisseny.com/en/blog/141-setting-up-codesniffer-to-validate-joomla-coding-standards-on-ubuntu
[2] http://git-scm.com
[3] http://docs.joomla.org/Git_for_Testers_and_Trackers