4 years ago I was getting ready for a presentation about Cake PHP, one which I had to deliver to colleagues. I had prepared an entire documentation when I got into Laravel. It immediately gained my attention, so I began making my research intensely.
After I got through a dense documentation set, I discovered that Google trends was already talking about Laravel. According to the trends, Laravel was the last, with Yii, Zend Framework, Codeigniter and Cake PHP, above it. The image below could be seen in my presentation 4 years ago.
Despite the fact that the title of my presentation promised some information about Cake PHP, during more than half of the time I had for the presentation I talked about Laravel. My colleagues were skeptic, some of them even laughed. I hadn't succeeded to convince them, maybe because I was too enthusiastic. However, I intuited this trend and decided to follow it.
Being confident that it would be useful to start developing projects using Laravel, I started my first projectusing this framework. At the beginning, the team had a developer who never used Laravel, a developer who had just joined the team, and me - a convinced follower of Laravel who was eager to start a project using it.
It was 3 years ago when I saw the first significant result using Laravel. More exactly, the project was completed before the estimated deadline thanks to Laravel. Consequently, we generated an interest regarding the framework among colleagues. What followed next? Most of the projects I got involved into had this framework as technical solution.
The learning curve is a lot shorter, having documentation which is easier to understand and peruse faster, in comparison with other frameworks. A developer who meets Laravel for the first time understands the code in approx. 2 days, because the framework is conceived to simplify development on purpose.
Laravel had built around it a community of passionate developers who will share their experience and knowledge at any time. Moreover, most of the learning packages are free. Laravel supports the open source, it is a framework with an elegant code, which at the moment, is influencing new trends in PHP.
According to SimilarTech, a digital market intelligence platform, globally, there are currently 55.454 web sites fully developed with Laravel and 46.511 unique domains developed with Laravel. The most encountered application domains are Business, Travel, Technology, Entertainment, News, and Social. Jacob Hecht - Product Consultant at SimilarTech - offered us some data about Romanian websites that use Laravel as a Framework. "We have uncovered 336 websites that are using Laravel, and the majority of their traffic comes from Romania, which is based on SimilarWeb traffic data. It is important to keep in mind that these are websites where there is enough traffic to see that the clear majority is coming from Romania."
This is the second year in a row when I attend the LaraconEU conference in Amsterdam, which took place at the end of August, 28-30, this year. Same as last year, I can't wait to implement the last updates I've learned about. This year I went at the conference with my colleagues Alexandra, Dan and Sergiu who were also eager to assimilate new ideas and information. Together, we tried to summarize the most interesting information from the conference.
Taylor Otwell, the founder of Laravel, presented some novelties that come with the new version of Laravel (5.5) launched during the conference. He mentioned Resource, through which a certain model can be usefully transformed, especially for developing APIs: it helps you transform a model's answer into API.
He also presented the introduction of optional global functions which simplify or even eliminates the validation of class instances before executing models, by simply accessing this functionality. Other improvements were brought to the Queueing system: hooking-up the jobs in "series" - if one of the jobs doesn't execute correctly, the others won't be able to execute themselves. Job Rate Limiting was also introduced for cases where the queue worker has a limit of requests, so the configuration of the number of attempts on time intervals is successfully done. It is especially useful in the interaction with services that also limits the number of requests on a certain interval.
Another improvement brought to this system is the possibility of limiting the re-attempt of running a certain job until a certain hour. This is extremely useful for jobs that are directly bound to the execution in a certain schedule interval, so that the developer won't need to case the interval checks.
Marcel Pociot named his presentation From zero to multi-platform Chatbot with BotMan. Marcel is the creator of the BotMan library which tries to abstract the development and the interaction with chatbots for a larger spectrum of platforms: Slack, Telegram, Microsoft Bot Framework, Nexmo, HipChat, Facebook Messenger and WeChat. Therefore, through a series of events and hooks, interactions with all the platforms mentioned above can be set through some code lines. The generalization layer's components will deal with the communication with different systems. Moreover, if natural language processing is also added, the results can be even more interesting.
Another presentation that determined us to look beyond the technical part, was Eryn O'Neil's. She spoke about how to approach problems during the process of development. Eryn shared her experience through a series of situations and she looked very determined in the decisions she took to solve problems. The purpose of the discussion was to remind us that we have to deal with different persons, and sometimes with ourselves. The conclusion was that we should empathize more with people around us and remember that we mustn't react to situations, but to make a plan before acting.
We wouldn't have thought we will meet Bruce Lee at this conference, but we got into some concepts derived from his philosophy. Bruce Lee Driven Development was a title that gained our attention and didn't disappoint us either. Extracted from the philosophy of learning more Kung Fu styles, Jeroen explained to us how, as software developers, we could benefit from the absorption of as many developing styles as possible, using those pieces we consider most useful.
Each presentation offered us something useful to come back with. Max Brokman's presentation pointed some interesting perspectives. As developers, we are often encouraged to store data in a normalized manner. This aspect improves data integrity and reduces data redundancy, but sometimes it makes the read interrogation too complex. Within the session, Max Brokman proved us how a denormalized DB can be used to improve the performance and the experience of developers in records, subscription pages and search systems using Eloquent.
Laura Elizabeth also got our attention with her presentation, Debugging Design: 5 simple design principles to make your UI "not look terrible". Laura showed us a web page, identified the elements that didn't look well, and then, step by step, based on 5 simple principles, she modified this page transforming it into an elegant, structured and user-friendly one.
The 5 principles developers should take into account when they need to implement a web page are:
Hannes Vad De Vreken talked about the importance of code review in the process of developing a system of information, and designing guidelines for creating a pull request and for offering feedback. The presentation pointed out that it's important to pay more attention to code review and to the manner employed to make a pull request, so we can offer sufficient, pertinent and useful information to the persons who have to evaluate our code.
Moreover, from the code reviewer's standpoint, it's important to know how to offer feedback, especially when it's negative, so we son't demotivate that person. Hannes presented us the sandwich approach style = a negative feedback between 2 positive feedbacks.
Laravel is part of my daily developer activity. The LaraconEu conference offers me and my colleagues, an extraordinary experience. The fact that I met people who are part of the board helped all 4 of us understand ideas that are 100% applicable to the projects we work on. The insights regarding database denormalization helped us explain the role of chatbots, to our client more clearly. We also explained our client how easy the system can be implemented on several platforms. After the presentation, he was very open to begin a chatbot module within the project.
These were the main ideas we came back with from LaraconEU. We will definitely try to implement them until next year's edition.