logo by @sawaratsuki1004

React

Maktaba ya wavuti na interfaces za mtumiaji asilia

Unda interfaces za mtumiaji kutoka kwa vipengele

React inakuruhusu kuunda interfaces za mtumiaji kutokana na vipande binafsi vinavyoitwa vipengele (components). Unda vipengele vyako mwenyewe vya React kama Thumbnail, LikeButton, na Video. Kisha viunganishe ili kutengeneza skrini nzima, kurasa, na vitumizi (apps).

Video.js

function Video({ video }) {
return (
<div>
<Thumbnail video={video} />
<a href={video.url}>
<h3>{video.title}</h3>
<p>{video.description}</p>
</a>
<LikeButton video={video} />
</div>
);
}

Iwe unafanya kazi peke yako au na maelfu ya wasanidi programu wengine, kutumia React kunahisiwa vile vile. Imeundwa ili kukuruhusu kuunganisha bila matatizo vipengele vilivyoandikwa na watu, timu, na mashirika.

Andika vipengele kwa kodi na alama (markup)

Vipengele vya React ni vitendaji vya JavaScript. Unataka kuonyesha maudhui kwa masharti? Tumia kauli ya if. Kuonyesha orodha? Jaribu array map(). Kujifunza React ni kujifunza programming.

VideoList.js

function VideoList({ videos, emptyHeading }) {
const count = videos.length;
let heading = emptyHeading;
if (count > 0) {
const noun = count > 1 ? 'Videos' : 'Video';
heading = count + ' ' + noun;
}
return (
<section>
<h2>{heading}</h2>
{videos.map(video =>
<Video key={video.id} video={video} />
)}
</section>
);
}

Sintaksia hii ya alama inaitwa JSX. Ni upanuzi wa sintaksia ya JavaScript uliopata umaarufu kupitia React. Kuweka alama za JSX karibu na lojiki husika ya uwasilishaji (rendering logic) hufanya vipengele vya React kuwa rahisi kuunda, kudumisha, na kufuta.

Ongeza mwingiliano popote unapouhitaji

Vipengele vya React hupokea data na kurudisha kile kinachopaswa kuonekana kwenye kioo. Unaweza kuvipatia data mpya kama mwitikio wa mwingiliano, kama vile mtumiaji anapoandika kwenye kisanduku cha kuingiza data (input). Kisha React itahuisha kioo ili kiendane na data hiyo mpya.

SearchableVideoList.js

import { useState } from 'react';

function SearchableVideoList({ videos }) {
const [searchText, setSearchText] = useState('');
const foundVideos = filterVideos(videos, searchText);
return (
<>
<SearchInput
value={searchText}
onChange={newText => setSearchText(newText)} />
<VideoList
videos={foundVideos}
emptyHeading={`No matches for “${searchText}”`} />
</>
);
}

Sio lazima ujenge ukurasa wako wote kwa React. Ongeza React kwenye ukurasa wako wa HTML uliopo, na uwasilishe (render) vipengele unganishi vya React popote pale.

Tumia full-stack pamoja na framework

React ni maktaba. Inakuruhusu kuunganisha vipengele, lakini haielekezi jinsi ya kufanya uelekezaji (routing) na upataji wa data. Ili kujenga programu kamili na React, tunapendekeza framework ya full-stack kama Next.js au React Router.

confs/[slug].js

import { db } from './database.js';
import { Suspense } from 'react';

async function ConferencePage({ slug }) {
const conf = await db.Confs.find({ slug });
return (
<ConferenceLayout conf={conf}>
<Suspense fallback={<TalksLoading />}>
<Talks confId={conf.id} />
</Suspense>
</ConferenceLayout>
);
}

async function Talks({ confId }) {
const talks = await db.Talks.findAll({ confId });
const videos = talks.map(talk => talk.video);
return <SearchableVideoList videos={videos} />;
}

React pia ni usanifu (architecture). Frameworks zinazoitumia zinakuruhusu kupata data katika vipengele asilia (asynchronous components) vinavyofanya kazi kwenye seva au hata wakati wa ujenzi (build). Soma data kutoka kwenye faili au kanzi data (database), na ipitishe kwenye vipengele vyako unganishi.

Tumia ubora wa kila jukwaa

Watu wanapenda programu za wavuti (web apps) na zile asilia (native apps) kwa sababu tofauti. React inakuruhusu kujenga zote mbili kwa kutumia ujuzi ule ule. Inategemea uimara wa kipekee wa kila jukwaa ili kufanya violesura vyako vionekane na kuhisiwa vyema kwenye kila jukwaa.

example.com

Baki mwaminifu kwa wavuti

Watu wanatarajia kurasa za programu za wavuti kupakia haraka. Kwenye seva, React inakuruhusu kuanza kutiririsha (streaming) HTML ukiwa bado unapata data, na kujaza maudhui yaliyosalia hatua kwa hatua kabla ya kodi yoyote ya JavaScript kupakiwa. Kwa upande wa mtumiaji (client), React inaweza kutumia API za kawaida za wavuti ili kufanya kiolesura chako (UI) kiendelee kuitikia kwa haraka hata katikati ya uwasilishaji (rendering).

11:46 AM

Tumia mfumo asilia kabisa

Watu wanatarajia programu asilia (native apps) zionekane na kuhisiwa kulingana na jukwaa lao. React Native na Expo zinakuruhusu kujenga programu kwa kutumia React kwa ajili ya Android, iOS, na mifumo mingineyo. Zinaonekana na kuhisiwa kama asilia kwa sababu violesura vyake ni asilia kikweli. Sio mwonekano wa wavuti—vipengele vyako vya React vinawasilisha mionekano halisi ya Android na iOS inayotolewa na jukwaa husika.

Ukiwa na React, unaweza kuwa msanidi wa wavuti na wa mifumo asilia. Timu yako inaweza kutoa programu kwenye majukwaa mengi bila kuathiri hali ya utumiaji (user experience). Shirika lako linaweza kuunganisha migawanyiko ya majukwaa, na kuunda timu zinazosimamia vipengele vizima mwanzo hadi mwisho.

Boresha wakati ujao ukiwa tayari

React hupokea mabadiliko kwa umakini mkubwa. Kila mabadiliko ya kodi (commit) ya React hufanyiwa majaribio kwenye mifumo muhimu ya kibiashara inayotumiwa na zaidi ya watumiaji bilioni moja. Zaidi ya vipengele 100,000 vya React ndani ya Meta husaidia kuhakiki kila mkakati wa uhamiaji.

Timu ya React hufanya utafiti kila wakati kuhusu jinsi ya kuiboresha React. Baadhi ya tafiti huchukua miaka mingi kuleta matokeo. React ina vigezo vya juu sana kabla ya kuingiza wazo la utafiti kwenye mazingira halisi ya matumizi (production). Ni mbinu zilizothibitishwa pekee ndizo zinazokuwa sehemu ya React.

Jiunge na jumuiya ya mamilioni

Hauko peke yako. Wasanidi programu milioni mbili kutoka kote ulimwenguni hutembelea nyaraka (docs) za React kila mwezi. React ni jambo ambalo watu na timu wanaweza kukubaliana kuhusu.

People singing karaoke at React Conf
Sunil Pai speaking at React India
A hallway conversation between two people at React Conf
A hallway conversation at React India
Elizabet Oliveira speaking at React Conf
People taking a group selfie at React India
Nat Alison speaking at React Conf
Organizers greeting attendees at React India

Hii ndiyo sababu React ni zaidi ya maktaba, usanifu, au hata mfumo wa ikolojia (ecosystem). React ni jumuiya. Ni mahali ambapo unaweza kuomba msaada, kupata fursa, na kukutana na marafiki wapya. Utakutana na watengenezaji programu na wabunifu, wanaoanza na wataalamu, watafiti na wasanii, walimu na wanafunzi. Asili zetu zinaweza kuwa tofauti sana, lakini React inaturuhusu sote kuunda violesura vya watumiaji kwa pamoja.

logo by @sawaratsuki1004

Karibu kwenye jumuiya ya React

Anza Sasa