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
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
So page yetu ita accept feeds Object kama props
Hii data (feeds) italetwa na Inertiajs from the controller kama Inertia response
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
Kama miezi minne iliyopita nilikutana na hii Javascript Library
Inertiajs
Kidogo ni mpya, ila nikajaribu kuitumia kwa sababu kuu zifatazo
- 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 - 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 - 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
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
]);
}
}
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