નેવિગેશન Flutter માં સ્ક્રીન (પેજ/રૂટ્સ) વચ્ચે ખસેડવું છે — મૂળભૂત નેવિગેશન માટે Navigator (રૂટ્સનો સ્ટેક) અથવા વધુ જટિલ એપ્લિકેશનો માટે ડિક્લેરેટિવ રૂટિંગ પેકેજ વાપરીને. નેવિગેશન વિશે સમજ મલ્ટી-સ્ક્રીન એપ્લિકેશનો બાંધવા માટે આવશ્યક છે.
Navigator સાથે મૂળભૂત નેવિગેશન (સ્ટેક)
// the Navigator manages a STACK of routes (screens)
// PUSH a new screen onto the stack (navigate to it)
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondScreen()),
);
// POP — go back (remove the top screen, return to the previous)
Navigator.pop(context);
Think of navigation as a STACK of screens:
→ PUSH adds a screen on top (navigate forward)
→ POP removes the top screen (go back)
→ the back button / gesture also pops
સ્ક્રીન વચ્ચે ડેટા પસાર કરવું
// pass data forward (via the constructor)
Navigator.push(context, MaterialPageRoute(
builder: (context) => DetailScreen(itemId: 42),
));
// return data back when popping
Navigator.pop(context, result); // return a result
final result = await Navigator.push(...); // receive it (push returns a Future)
નામીકૃત રૂટ્સ અને આધુનિક રૂટિંગ
// NAMED routes — define routes by name (cleaner for many screens)
Navigator.pushNamed(context, '/details');
// configured in MaterialApp(routes: {...})
// MODERN: declarative routing packages (go_router) for complex apps:
// → URL-based routing, deep linking, web support, nested navigation
// → go_router is the recommended approach for non-trivial apps
તે શા માટે મહત્ત્વપૂર્ણ છે
નેવિગેશન વિશે સમજ આવશ્યક છે કારણ કે મોટાભાગની એપ્લિકેશનોમાં બહુવિધ સ્ક્રીન હોય છે, અને તેમની વચ્ચે ખસેડવું એ એપ્લિકેશન કાર્યક્ષમતાનું મૂળ છે, તેથી તે Flutter નું આવશ્યક જ્ઞાન છે.
મૂળ ધારણા — Flutter નો Navigator રૂટ્સ (સ્ક્રીન્સ) નો સ્ટેક સંચાલિત કરે છે, જ્યાં તમે આગળ નેવિગેટ કરવા માટે push કરો છો (ટોચ પર સ્ક્રીન ઉમેરતા) અને પાછળ જવા માટે pop કરો છો (ટોચની સ્ક્રીન હટાવતા) — નેવિગેશન માટે પાયાની માનસિક મોડેલ છે, અને સ્ટેક રૂપક (યુઝર્સ કેવી રીતે એપ્લિકેશન દ્વારા આગળ અને પાછળ નેવિગેટ કરે છે તેનાથી મેળ ખાતું) તેને સહજ બનાવે છે.
મૂળભૂત નેવિગેશન (push/pop) સમજવું કોઈપણ મલ્ટી-સ્ક્રીન એપ્લિકેશન માટે જરૂરી છે.
સ્ક્રીન વચ્ચે ડેટા પસાર કરવું (કન્સ્ટ્રક્ટર્સ દ્વારા ડેટા આગળ પাઠવવું અને પૉપ કરતી વખતે પરિણામ પરત કરવું, કારણ કે push Future આપે છે) સમજવું આવશ્યક છે કારણ કે સ્ક્રીનોને સામાન્ય રીતે ડેટા શેર કરવાની જરૂર હોય છે (વિગતવાર સ્ક્રીન પર આઇટમ પસાર કરવી, પસંદગી પાછી આવવી).
નામીકૃત રૂટ્સ (બહુ સ્ક્રીન સાથે સ્વચ્છ સંસ્થા માટે નામ દ્વારા રૂટ્સ વ્યાખ્યાયિત કરવા) અને વિશેષતઃ આધુનિક ડિક્લેરેટિવ રૂટિંગ (પેકેજ જેમ કે go_router, જે બિન-તુચ્છ એપ્લિકેશનો માટે ભલામણ કરવામાં આવે છે, URL-આધારિત રૂટિંગ, ડીપ લિંકિંગ, વેબ સમર્થન અને નેસ્ટેડ નેવિગેશન પ્રદાન કરે છે) પ્રદાન કરતું છે વર્તમાન શ્રેષ્ઠ પ્રથાઓ પ્રતિબિંબિત કરે છે — જેમ જેમ એપ્લિકેશનો વધે છે, ડિક્લેરેટિવ રૂટિંગ જટિલતા સંચાલિત કરે છે અને ઇમ્પેરેટિવ push/pop કરતાં વધુ સારું છે.
વર્તુળમાં તમામ એપ્લિકેશનોમાં બહુવિધ સ્ક્રીન હોય છે અને તેમની વચ્ચે નેવિગેટ કરવું (ડેટા પસાર સાથે) એ એપ્લિકેશન કાર્યક્ષમતાનું મૂળ છે, અને Navigator સ્ટેક મોડેલ, ડેટા પસાર કરવું અને આધુનિક રૂટિંગ (go_router) સમજવું જરૂરી છે મલ્ટી-સ્ક્રીન એપ્લિકેશનો બાંધવા માટે, Flutter માં નેવિગેશન સમજવું આવશ્યક, પાયાની જ્ઞાન છે — એક મૂળ ક્ષમતા લગભગ બધી Flutter એપ્લિકેશનમાં જરૂરી છે અને મલ્ટી-સ્ક્રીન અનુભવો બાંધવા માટે જરૂરી છે જે વાસ્તવિક એપ્લિકેશનો માટે જરૂરી છે.
