# బ్యాంకింగ్ యాప్‌ భాగం 1: వెబ్ యాప్‌లో HTML టెంప్లేట్లు మరియు రూట్లు ```mermaid journey title మీ బ్యాంకింగ్ యాప్ అభివృద్ధి ప్రయాణం section SPA ప్రాథమికాలు సింగిల్-పేజీ యాప్స్ ని అర్థం చేసుకోండి: 3: Student టెంప్లేట్ ধারণాలను నేర్చుకోండి: 4: Student DOM మానిప్యులేషన్ లో నైపుణ్యం సాధించండి: 4: Student section రౌటింగ్ వ్యవస్థలు క్లయింట్-సైడ్ రౌటింగ్ ని అమలు చేయండి: 4: Student బ్రౌజర్ చరిత్రను నిర్వహించండి: 5: Student నావిగేషన్ వ్యవస్థలను సృష్టించండి: 5: Student section వృత్తిపరమైన నమూనాలు మాడ్యులర్ ఆర్కిటెక్చర్ ని నిర్మించండి: 5: Student ఉత్తమ ఆచారాలను వర్తించండి: 5: Student యూజర్ అనుభవాలను సృష్టించండి: 5: Student ``` 1969లో అపోలో 11 యొక్క గైడెన్స్ కంప్యూటర్ చంద్రుడి వైపు నావిగేట్ అయినప్పుడు, అది మొత్తం సిస్టమ్‌ను రీస్టార్ట్ చేయకుండా వివిధ ప్రోగ్రామ్‌ల మధ్య మార్పులు చేయాల్సి వచ్చింది. ఆధునిక వెబ్ అప్లికేషన్లు కూడా సమానంగా పనిచేస్తాయి – అవి మీరు చూసే విషయాన్ని పూర్తిగా రీలోడ్ చేయకుండా మార్చుతాయి. ఇది నేడు వినియోగదారులు ఆశించే సున్నితమైన, స్పందనक्षम అనుభవాన్ని సృష్టిస్తుంది. ప్రస్తుత కాలపు వెబ్ యాప్‌లు ప్రతి ఇంటరాక్షన్‌కు పూర్తయిన పేజీలను రీలోడ్ చేయకుండా, మార్పు అవసరమైన భాగాలనే నవీకరిస్తాయి. ఇది మిషన్ కంట్రోల్ వివిధ డిస్ప్లేలను మారుస్తూ నిరంతర సంభాషణను కొనసాగించే విధానంలా, ఆ సున్నితమైన అనుభవాన్ని సృష్టిస్తుంది. క్రింద ఉన్నది విపరీతమైన తేడాను సృష్టించే అంశాలు: | సాంప్రదాయ బహుపేజీ యాప్‌లు | ఆధునిక ఏకపేజీ యాప్‌లు | |----------------------------|-------------------------| | **నావిగేషన్** | ప్రతి స్క్రీన్ కోసం పూర్తి పేజీ రీలోడ్ | తక్షణ కంటెంట్ మార్పు | | **ప్రదర్శన** | పూర్తి HTML డౌన్‌లోడ్స్ కారణంగా మందగింపు | భాగస్వామ్య నవీకరణలతో వేగవంతం | | **వినియోగదారు అనుభవం** | అనూహ్యంగా పేజీ చిమ్ములు | సున్నితమైన, యాప్‌లా మార్పులు | | **డేటా భాగస్వామ్యం** | పేజీల మధ్య కఠినమైనది | సులభమైన స్థితి నిర్వహణ | | **వికాసం** | బహుళ HTML ఫైళ్ళు నిర్వహణకు | డైనమిక్ టెంప్లేట్లతో ఏక HTML | **వికాసాన్ని అర్థం చేసుకోండి:** - **సాంప్రదాయ యాప్‌లు** ప్రతి నావిగేషన్ చర్యకు సర్వర్ అభ్యర్థనలు అవసరం - **ఆధునిక SPAలు** ఒకసారి లోడ్ చేసి, జావాస్క్రిప్ట్ ఉపయోగించి డైనమిక్ కంటెంట్ నవీకరణ - **వినియోగదారుల ఆశలలో** తక్షణ, సజల ఇంటరాక్షన్లు ప్రాధాన్యం - **ప్రదర్శన లాభాలు** సమస్తమైన బ్యాండ్‌విడ్త్ తగ్గింపు మరియు వేగవంతమైన స్పందనలు ఈ పాఠంలో, అనేక స్క్రీన్లు సజావుగా కలిసిన బ్యాంకింగ్ యాప్‌ని నిర్మించబోతున్నాం. శాస్త్రవేత్తలు వివిధ ప్రయోగాలకు మాడ్యూలర్ సర్దుబాటు సాధనాలు ఉపయోగించే విధంగా, మనం HTML టెంప్లేట్లను మళ్లీ ఉపయోగించదగిన భాగాలుగా ఉపయోగించి అవసరమైనప్పుడు ప్రదర్శిస్తాం. మీరు HTML టెంప్లేట్లతో (విభిన్న స్క్రీన్‌ల కోసం మళ్లీ ఉపయోగించదగిన ప్రణాళికలు), జావాస్క్రిప్ట్ రౌటింగ్ (స్క్రీన్‌ల మధ్య మార్పిదించే వ్యవస్థ), మరియు బ్రౌజర్ యొక్క హిస్టరీ API (బ్యాక్ బటన్ సరిగ్గా పనిచేయడానికి) తో పని చేస్తారు. ఇవే React, Vue, మరియు Angular వంటి ఫ్రేమ్‌వర్క్‌లలో ఉపయోగించే ప్రాథమిక సాంకేతికతలు. చివరికి, మీరు ఒక ప్రొఫెషనల్ ఏకపేజీ అప్లికేషన్ ప్రిన్సిపల్స్‌ను చూపించే పనిచేసే బ్యాంకింగ్ యాప్‌ను పొందుతారు. ```mermaid mindmap root((సింగిల్-పేజీ అప్లికేషన్లు)) Architecture Template System Client-side Routing State Management Event Handling Templates Reusable Components Dynamic Content DOM Manipulation Content Switching Routing URL Management History API Navigation Logic Browser Integration User Experience వేగవంతమైన నావిగేషన్ స్మూత్ ట్రాన్సిషన్లు సాదృశ్య స్థితి ఆధునిక ఇంటరాక్షన్లు Performance తగ్గించిన సర్వర్ అభ్యర్థనలు వేగవంతమైన పేజీ మార్పులు సమర్థవంతమైన వనరు ఉపయోగం మెరుగైన స్పందనశీలత ``` ## పాఠం ముందు క్విజ్ [పాఠం ముందు క్విజ్](https://ff-quizzes.netlify.app/web/quiz/41) ### మీరు కావలసింది మన బ్యాంకింగ్ యాప్‌ను పరీక్షించడానికి స్థానిక వెబ్ సర్వర్ కావాలి – ఇది మీ ఊహించినంత కష్టం కాదు! మీరు ఇప్పటికే సెట్ చేయకపోతే, కేవలం [Node.js](https://nodejs.org)ని ఇనిస్టాల్ చేసి `npx lite-server` ను మీ ప్రాజెక్ట్ ఫోల్డర్ నుండి రన్ చేయండి. ఇది స్థానిక సర్వర్‌ను స్పిన్ చేస్తుంది మరియు ఆటోమేటిగ్గా బ్రౌజర్లో మీ యాప్‌ను ఓపెన్ చేస్తుంది. ### తయారీ మీ కంప్యూటర్‌లో `bank` అనే ఫోల్డర్‌ని సృష్టించి, అందులో `index.html` అనే ఫైల్‌ని ఉంచండి. మనం ఈ HTML [బాయిలర్ప్లేట్](https://en.wikipedia.org/wiki/Boilerplate_code) నుండి మొదలుపెడతాం: ```html Bank App ``` **ఈ బాయిలర్ప్లేట్ అందించే అంశాలు:** - **HTML5 డాక్యుమెంట్ నిర్మాణాన్ని** సరైన DOCTYPE ప్రకటనతో స్థాపిస్తుంది - **అంతర్జాతీయ పాఠ్య మద్దతుకు** UTF-8 క్యారెక్టర్ ఎంకోడింగ్‌ను అమర్చుతుంది - **పోర్టబుల్ కనుగొనికకు** viewport మెటా ట్యాగ్ తో స్పందనకరమైన డిజైన్‌ను ఏర్పాటు చేస్తుంది - **బ్రౌజర్ టాబ్‌లో కనిపించే** వివరాత్మక శీర్షికను సెట్ చేస్తుంది - **మనం అంజలి చేయబోయే అప్లికేషన్ కోసం** శుభ్రమైన బాడీ సెక్షన్‌ను సృష్టిస్తుంది > 📁 **ప్రాజెక్ట్ నిర్మాణం అవలోకనం** > > **ఈ పాఠం ముగిసే వరకు, మీ ప్రాజెక్ట్‌లో ఈ ఫైళ్లు ఉంటాయి:** > ``` > bank/ > ├── index.html > ├── app.js > └── style.css > ``` > > **ఫైల్ బాధ్యతలు:** > - **index.html**: అన్ని టెంప్లేట్లను కలిగి ఉండి యాప్ నిర్మాణాన్ని అందిస్తుంది > - **app.js**: రౌటింగ్, నావిగేషన్, మరియు టెంప్లేట్ల నిర్వహణను చేపడుతుంది > - **టెంప్లేట్లు**: లాగిన్, డాష్‌బోర్డ్ మరియు ఇతర స్క్రీన్‌ల UIని నిర్వచిస్తాయి --- ## HTML టెంప్లేట్లు టెంప్లేట్లు వెబ్ డెవలప్‌మెంట్‌లో ఒక ప్రాథమిక సమస్యను పరిష్కరిస్తాయి. గుటెన్‌బర్గ్ 1440లలో మొవబుల్ టైప్ ప్రింటింగ్‌ను ఆవిష్కరించినప్పుడు, పూర్తి పేజీలను చెక్కేసే బదులు ఉపయోగించదగిన లెటర్ బ్లాక్స్‌ను తయారు చేసి వాటిని అవసరమనుకుని అమరిక చేయొచ్చని తెలుసుకున్నాడు. HTML టెంప్లేట్లు అదే సిద్ధాంతంపై పనిచేస్తాయి – ప్రతి స్క్రీన్ కోసం వేర్వేరు HTML ఫైల్‌లు సృష్టించకుండా, అవసరానికి తగిన reusable నిర్మాణాలను నిర్వచిస్తారు. ```mermaid flowchart TD A["📋 టెంప్లేట్ నిర్వచనం"] --> B["💬 DOMలో దాచబడింది"] B --> C["🔍 జావాస్క్రిప్ట్ టెంప్లేట్ పొందదు"] C --> D["📋 టెంప్లేట్ కంటెంట్‌ని క్లోన్ చేయండి"] D --> E["🔗 దృశ్యమానమైన DOMకి జత చేయండి"] E --> F["👁️ వినియోగదారు కంటెంట్‌ని చూస్తున్నాడు"] G["లాగిన్ టెంప్లేట్"] --> A H["డాష్బోర్డ్ టెంప్లేట్"] --> A I["భవిష్యత్ టెంప్లేట్లు"] --> A style A fill:#e3f2fd style D fill:#e8f5e8 style F fill:#fff3e0 style B fill:#f3e5f5 ``` మీ యాప్ అనేక భాగాలకు టెంప్లేట్లను బ్లూ ప్రింట్‌లాగా ఆలోచించండి. ఒక ఆర్కిటెక్ట్ ఒక బ్లూ ప్రింట్ సృష్టించి అటు ఇటు పునరావృతంగా ఉపయోగిస్తే, మేము టెంప్లేట్లను ఒకసారి సృష్టించి అవసరానికి అనుగుణంగా ఉపయోగిస్తాం. బ్రౌజర్ ఈ టెంప్లేట్లను దాచివుంచి, జావాస్క్రిప్ట్ వాటిని యాక్టివేట్ చేసే వరకు చూపించదు. మీరు ఒక వెబ్ పేజీకి అనేక స్క్రీన్‌లు సృష్టించదలిచినట్లయితే, ఒక పరిష్కారం ప్రతి స్క్రీన్ కోసం ఒక HTML ఫైల్ సృష్టించడం. అయినప్పటికీ, ఈ పరిష్కారానికి కొన్ని అసౌకర్యాలు ఉన్నాయి: - స్క్రీన్ మార్చేటప్పుడు మొత్తం HTMLని రీలోడ్ చేయాల్సి ఉంటుంది, ఇది మందగింపును కలిగిస్తుంది. - వివిధ స్క్రీన్‌ల మధ్య డేటా పంచుకోవడం కష్టమే. మరొక విధానం ఒకే HTML ఫైల్ ఉండటం మరియు `