BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//LaraChat//Events//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
UID:01a1b1cc-9462-732e-8e6c-fd89fd48f02b@www.larachat.co
DTSTAMP:20261107T173017Z
DTSTART:20220615T170000Z
DTEND:20220615T180000Z
SUMMARY:Let's Learn Laravel Livewire
DESCRIPTION:Hey there\,\n\nIn this online event we're going to begin playin
 g with [Laravel Livewire](https://laravel-livewire.com/). No prior experie
 nce with [Laravel](https://laravel.com/) or Livewire is necessary though i
 t will be helpful to have experience with programming and web development.
  Your host\, [Connor](https://www.linkedin.com/in/connorleech/)\, hasn't u
 sed Livewire but he does know Laravel. I have a project in mind so we'll s
 ee how far we get and what we can learn along the way :)\n\n\\#\\# What is
  Laravel Livewire?\n\nBefore introducing Laravel Livewire let's review the
  current state of web development and the problem Livewire seeks to solve.
  Prior to Livewire there were two primary ways of building web frontends: 
 You could build front ends using Laravel's built in template engine called
  [Blade](https://laravel.com/docs/9.x/blade)\, or\, alternatively\, you co
 uld build more interactive websites using a Javascript framework like [Vue
 .js](https://vuejs.org/) or [React.js](https://reactjs.org/) and communica
 ting with the backend via AJAX or GraphQL. There are pros and cons to both
  approaches..\n\nBlade templates are nice because the code can be relative
 ly simple\; you define variables in the controller and use them in the vie
 w. The variables have access to all of the PHP model methods and there are
  plenty of blade helpers for conditionally displaying data\, looping over 
 lists and breaking the view into layouts and partials. Code can be reused 
 across views and everything is in .php or .blade.php files. Rendering data
  via Blade templates is the MVC pattern at its finest. This pattern was a 
 revolutionary breakthrough in web development first pioneered by DHH with 
 Ruby On Rails nearly two decades ago. Unfortunately it has some shortcomin
 gs.\n\nEnter Vue.js\, React.js et al. These web frameworks sought to solve
  the problem of Blade templates\, erb files in Ruby or views.py files in D
 jango by handling the logic themselves. To communicate with the backend da
 tabases they needed to send AJAX requests. With AJAX requests there needed
  to be API endpoints to provide the data. Facebook pioneered GraphQL to al
 low front end developers to specify the data they wanted\, but regardless 
 view logic needed to be handled with frontend Javascript. To manage state 
 with these frontend frameworks we built tools like Redux\, Vuex and Mobx. 
 React introduced Hooks. We introduced a lot of complexity to gain interact
 ivity\, but maybe it doesn't have to be this way?\n\nThis is my hope for L
 aravel Livewire. Livewire promises to make dynamic web interfaces simple. 
 There has been a backlash against complex web frameworks resulting in more
  new tools. Livewire is part of a movement in web development to make inte
 ractivity simpler for developers. [Hotwire](https://hotwired.dev/)\, [Iner
 tia.js](https://inertiajs.com/)\, [Remix](https://remix.run/) and even [Al
 pine.js](https://alpinejs.dev/) are looking to solve this problem. Livewir
 e promises to build interactive websites with PHP but there will be some n
 ew concepts we need to learn.\n\n\\#\\# Okay\\\, that was a lot\\. What wi
 ll we be building?\n\nI work on a side project called [Employbl](https://w
 ww.employbl.com/). In this session I'll be live coding interactive search 
 for [job listings](https://www.employbl.com/job-listings). The codebase fo
 r Employbl isn't open source but I'm happy to share what we do in the meet
 up via GitHub gist :)\n\n\\#\\# What do I need to bring?\n\nA positive att
 itude and curiosity 🚀\n\nhttps://www.larachat.co/meetings/lets-learn-la
 ravel-livewire
URL:https://www.larachat.co/meetings/lets-learn-laravel-livewire
END:VEVENT
END:VCALENDAR
