Inertiajs - Lightweight javascript library unayopaswa kuijaribu

Kuchwizzy

JF-Expert Member
Oct 1, 2019
1,072
2,307
Niaje wana Tech..

Kama miezi minne iliyopita nilikutana na hii Javascript Library

Inertiajs

Kidogo ni mpya, ila nikajaribu kuitumia kwa sababu kuu zifatazo
  1. Nilikua na upgrade Projects zangu kutoka Laravel 7 kwenda Laravel 8
    Laravel 8 ime ship na package moja nzuri sana inayoitwa Laravel Jetstream
    Laravel Jetstream
    Jestreaam inakupa options au stacks mbili kwa ajiri ya Frontend part ya Application yako
    Moja ni Livewire na ya pili ni Inertia
    Livewire ni option nzuri kwa Laravel developers ambao hawapo comfortable na Javascript Framework kama Reactjs au Vuejs
    Then Inertia ni options nzuri kwa wale developers kama mimi wanaotumia Javascript Framework (Natumia Vuejs kwa mda sana)

    Hii ni moja kati ya major changes zilizokuja na Laravel 8,so haikua na jinsi...Nikaanza kujifunza
  2. Kwenye old versions za Laravel,nilikua natumia Vuejs components pale tu ninapo hitaji Interactivity katika part fulani ya Application yangu
    while pages zikiwa regular blade views,so sikua natumia full power ya Vuejs
  3. Nilikua tired na muiltipage application,so nikaona ni try kitu kipya,single page application


    Multipage applications ni traditional web applications ambazo zina send new HTML pages kila mara client anapo send new request,mfano jamiiforums.com
    but for single page (SPA),server ina send single html page moja ambayo inakila kitu kinachohitaji ili application ifanye kazi
    Kuna advantages nyingi sana za SPA uki compare na Multipage Apps
    Mfano wa SPA ni Instagram.com.facebook.com na gmail

    But SPA ni ngumu kidogo kuzi develop ukilinganisha na Multipages application
    Moja ya kikwazo cha SPA ni ku design na ku develop API ambazo zitakua consumed na Single page yako

    Kama umewahi ku develop API utagundua ugumu kidogo uliopo (Japo Laravel imefanya hii kazi iwe rahisi sana)

    Plus uki develop API unahitaji Navigations Libraries kama Vue router au React Navigations,pamoja na complexities zao

    Ugumu mwingine ni ku secure Apis,ku Authenticate users na ku perform Authorizations

    Hapa ndipo Inertiajs ilipoingia

    Inertiajs inakupa uwezo wa kudevelop pure Single Page Application bila ku develop API
    Plus huna haja ya kutumia Javascript Navigations libraries kama Vue router
    Pia unapata advantage ya kutumia server side routing uliyozoea,pamoja na built in server side Authentication & Authorizations za Laravel
    au Server side Framework of your choice,cause Inertiajs sio specific tu kwa Laravel na Vuejs,inaweza kuitumia kwa Django + React
    Ni agnostic
download (1).jpg

Hii ni Quick workthrough ya jinsi gani unaweza tumia Inertiajs kwenye Laravel project yako (Na assume upo familiar na Vuejs + Laravel)

Pretend tuna design simple photo based social network web app kama Instagram
Then hii ni home page ambayo ina display news feed kwa ajiri ya current user

Code:
<!--Feed.vue-->
<template>
    <div>
        <div v-for="feed in feeds" :key="feed">
            <img :src="feed.photo_url" alt="">
            <p>
                {{feed.caption}}
            </p>
        </div>
    </div>
</template>

<script>
    export default {
        props : {
            feeds: Object
        }
    }
</script>

<style lang="scss" scoped>

</style>

So page yetu ita accept feeds Object kama props
Hii data (feeds) italetwa na Inertiajs from the controller kama Inertia response

Code:
<?php
class FeedsController
{
    public function feeds()
    {
       $feeds = Feed::latest()->paginate();
        return Inertia::render('Feed', [
            'feeds' => $feeds
        ]);
    }
}
So anytime hii component inapokua mounted, Inertiajs ita fetch hii data from the background via XHR requests
Ni easy sana kama ukipitia docs yake na practice kadhaa


So kama unataka ku build single page app bila API Inertiajs ni option moja tamu sana


For web au app developer,ushahuri kuhusu codes : 0748333586

download (1).jpg
 

Similar Discussions

Back
Top Bottom