Day Three of Laravel US Conference consisted of talks about design, performance tuning, software estimation, API tools, and Laravel. Seven speakers took to the stage and it was a scintillating experience. Currently, a specific date has still not been set on the release of Laravel 5.3. Taylor made it known to everyone that it will be released in a couple of weeks. Check out our recap of Day One and Day Two in case you missed them.
Adam Wathan was back again with a presentation on Curing the Common Loop. He talked about how for-loops and conditionals can be totally eliminated from a piece of code, instead using higher-order functions that allow for elegant code expression. Adam did a live coding session where he eliminated for-loops, conditionals, and temporary variables in an app and replaced them with Laravel Collection methods. Check out the slides from his workshop here.
Fabien Potencier, creator of Symfony and founder of Sensiolabs, gave a talk on PHP Performance Tuning with Blackfire. He talked about performance issues with PHP and PHP frameworks. And he gave insightful advice about how to track down these issues with Blackfire. Check out the turorial he made on using Blackfire in your applications here. Blackfire is available now on Laravel Forge.
"40% of users abandon a website that takes more than 3 seconds to load - Fabien Potencier"
Tweet This
Chuck Reeves gave a talk on Practical Software Estimation. Chuck dropped nuggets of wisdom on how to provide estimates for a software project. He emphasized why developers should estimate because they are the ones writing the code. Chuck compared developers to cardiologists and gave an example of how the latter cannot be coerced into performing a surgical operation for five hours instead of eight. As a developer, if it takes you eight hours to complete a task, do not negotiate for less! Check out the slides here.
No estimation talk ever will be complete without Bayes Theorem. When you get new info, the level of uncertainty will decrease #laracon
— Michael Dyrynda (@michaeldyrynda) July 29, 2016
Jason McCreary, creator of laravelshift.com, gave a talk on YAGNI With Laravel. YAGNI, an acroynm for You Aren't Gonna Need It, is a principle of extreme programming that states a programmer should not add functionality until deemed necessary. He advocated KISS - "Keep it simple, stupid!" He talked about how programmers are always tempted to over-engineer solutions and how developers pride themselves on complex architectures. With YAGNI, you will:
- Know when to defer decisions until tomorrow
- Trust your ability to pivot quickly
- Write less code
You need to upgrade your Laravel app without moving a muscle? check out laravelshift.com.
Note: Don't call YAGNI on security features
Don’t customize your app namespaces. Just leave it app, it’s short and sweet. KISS — @gonedark
— Laravel News (@laravelnews) July 29, 2016
“…perfection is attained not when there is nothing more to add, but when there is nothing more to remove” #laracon
— Michael Dyrynda (@michaeldyrynda) July 29, 2016
Colin DeCarlo, gave a talk on Keeping Eloquent Eloquent. Eloquent is Laravel's ORM. He talked about the mistakes he's made using Eloquent. He advocated the following when using Eloquent:
- On every model, create a defaults property and populate it with key value pairs of attribute and value. Merge with set values
- Don't circumvent the abstraction layer provided by Eloquent
- Use the source!
Cannot believe I am in the same room as big cat demarco!#Laracon
— Rob Drimmie (@RobDrimmie) July 29, 2016
Jeremy Lindblom, an active contributor to Guzzle and AWS SDK and creator of Superclosure talked about Lumen, Guzzle & Swagger. He talked about API endpoints, HTTP methods, and how developers can leverage Swagger, Lumen, and Guzzle to develop great RESTFUL APIs and microservices. Check out the slides here.
“Swagger is a representation of your representational API that is a representation of your data“ @jeremeamia#Laracon
— Sara Bine (@sarabine) <a href="https://twitter.com/sarabine/status/759126262937812992">July 29, 2016</a>
Documentation still doesn’t help us cross the bridge between client and server but the bridge is there #laracon
— Michael Dyrynda (@michaeldyrynda) July 29, 2016
Which of the hundred different ways would you like to implement JSON? HATEOAS, HAL, JSON-LD, JSON-API, something else? #laracon
— Michael Dyrynda (@michaeldyrynda) July 29, 2016
Ryan Singer, product strategist at Basecamp, gave a talk titled Design: Case Study. He talked about the processes involved in creating a product, from rough sketch to a functional UI that's finally handed over to the developers.
Tower of Interface Design
Flows -> Affordances -> 2D layout
The layout isn’t important; you won’t have to rewrite any code. Views are separate #laracon— Michael Dyrynda (@michaeldyrynda) July 29, 2016
A real concrete UI is good for giving developers requirements #Laracon
— Prosper Otemuyiwa (@unicodeveloper) July 29, 2016
's “Tower of Interface Design“
Domain experience
Situations (withdrawal)
Flows (fast cash)
Accordances (inputs)
2D Layout#laracon 💎— Troy Harvey (@troyharvey) July 29, 2016
Conclusion
Laracon US 2016 is actually the first Laravel Conference to be 95 percent technical talks. All the speakers were great and the talks were educational and insightful.
If you are just getting started in developing Laravel 5 apps, check out our Laravel app tutorial. Need an alternative means of adding authentication and authorization to your Laravel apps? Sign up for a free Auth0 account and get your user authentication set up in few minutes using our Laravel quickstarts. Building an API using Laravel and wondering how to add authentication using JWT? Auth0 has got you covered. Check out our Laravel API quickstarts to implement that in less than 10 minutes.
Many developers are already getting their hands dirty with Laravel 5.3 using the dev version. You can also try it out and tell us what you think in the comment section! Hopefully, about two weeks from now, Laravel Scout, Laravel Passport, Laravel Notifications, Laravel Mailable, and Laravel 5.3 will be officially released to the public.