# வங்கித் தொடர்பான செயலியை உருவாக்கல் பகுதிக்கு 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-ல் Apollo 11 இன் வழிகாட்டும் கணினி சந்தைக்கு செல்லும்போது, முழு கணினியை மீண்டும் துவங்காமல் வெவ்வேறு செயலிகள் இடையில் மாறத் எண்ணியது. நவீன வலை செயலிகள் இதே போன்ற செயல்பாடுகளைப் பயன்படுத்துகின்றன – எல்லாவற்றையும் மீண்டும் ஏற்றாமல் நீங்கள் பார்க்கும் உள்ளடகத்தை மாற்றுகின்றன. இதனால் இன்று பயனர்கள் எதிர்பார்க்கும் மென்மையான, வேகமான அனுபவம் உருவாகிறது. எல்லா தொடர்புகளுக்கும் முழு பக்கத்தையும் மீண்டும் ஏற்றும் பாரம்பரிய இணையதளங்கள் தவிர, நவீன வெப் செயலிகள் மாற்ற வேண்டிய பகுதியை மட்டும் புதுப்பிக்கின்றன. இந்த அணுகுமுறை, வானவரிசை கட்டுப்பாடு வேரியப்பட்ட திரைகள் இடையில் மாறும் பொழுது நிலையில் தொடர்ந்துத்தான் தொடர்பில் இருப்பது போல, ஒரு உயர்தர மற்றும் மென்மையான அனுபவத்தை உருவாக்குகிறது. இங்கே வித்தியாசமான அம்சங்கள்: | பாரம்பரிய பல பக்க செயலிகள் | நவீன ஒரே பக்க செயலிகள் | |----------------------------|-------------------------| | **நெவிகேஷன்** | ஒவ்வொரு திரைக்கும் முழுமையான பக்கம் மீண்டும் ஏற்றம் | உடனடி உள்ளடக்க மாற்றம் | | **செயல்திறன்** | முழு HTML பதிவிறக்கம் காரணமாக மெதுவானது | பகுதி புதுப்பிப்புகளுடன் வேகமானது | | **பயனர் அனுபவம்** | திடீர் பக்க மேம்பாடுகள் | மென்மையான, செயலி போன்ற இடமாற்றங்கள் | | **தரவு பகிர்வு** | பக்கங்களுக்கு இடையே கடினம் | நிலை பராமரிப்பு எளிது | | **ஆராய்ச்சி** | பல HTML கோப்புகளை பராமரிக்க வேண்டும் | ஒரே HTML மற்றும் தானியங்கி வார்ப்புருக்கள் | **மாற்றத்தின் புரிதல்:** - **பாரம்பரிய செயலிகள்** ஒவ்வொரு செயலியும் சர்வரை கேள்விகள் செய்யவேண்டும் - **நவீன SPAs** ஒருமுறை ஏற்றிக்கொண்டு, ஜாவாஸ்கிரிப்ட் மூலம் உள்ளடடையை動ையாக புதுப்பிக்கின்றன - **பயனர் எதிர்பார்ப்புகள்** இப்போது உடனடி, இடையில்லா தொடர்புகளை வலியுறுத்துகின்றன - **செயல்திறன் நன்மைகள்** குறைந்த வலைப்பாதை செலவுடன் மற்றும் வேகமான பதில்கள் இந்த பாடத்தில், நாங்கள் பல திரைகளைக் கொண்ட வங்கித் தொடர்பான செயலியை உருவாக்கப் போகிறோம், அவை இணக்கமான முறையில் இணைக்கப்படும். விஞ்ஞானிகள் பல்வேறு பரிசோதனைகளுக்கான மாற்றக்கூடிய கருவிகள் பயன்படுத்துவது போல, நாங்கள் HTML வார்ப்புருக்களை மீண்டும் பயன்படுத்தக்கூடிய கூறுகளாகப் பயன்படுத்துவோம், அவை தேவைக்கேற்ப காட்சியளிக்கப்படும். நீங்கள் HTML வார்ப்புருக்கள் (பலகையிடக்கூடியவும் பல்வேறு திரைகளுக்கான திட்டங்கள்), ஜாவாஸ்கிரிப்ட் வழிச் சர்க்குலேஷன் (திரைகள் இடையே மாறுதல் செய்பவர்), மற்றும் உலாவியின் வரலாற்று API (மீண்டும் பின் செல்லும் பொத்தானை இயங்கவைக்கும்) ஆகியவற்றுடன் வேலை செய்யப் போகிறீர்கள். இவை React, Vue, Angular போன்ற கூறுத் தளங்கள் பயன்படுத்தும் அடிப்படை தொழில்நுட்பங்களே. கடைசியில், நீங்கள் தொழில்முறை ஒரே பக்க பயன்பாட்டின் கோட்பாடுகளை காட்சிப்படுத்தும் செயலி ஒன்றை உருவாக்கி காட்டுவீர்கள். ```mermaid mindmap root((ஒற்றை பக்கம் பயன்பாடுகள்)) Architecture Template System Client-side Routing State Management Event Handling Templates மீண்டும் பயன்படுத்தக்கூடிய கூறுகள் இயங்கும் உள்ளடக்கம் DOM மானிபுலேஷன் உள்ளடக்க பரிமாற்றம் Routing URL மேலாண்மை வரலாறு API வழிசெலுத்தல் விவேகம் உலாவி ஒருங்கிணைப்பு User Experience விரைவு வழிசெலுத்தல் மென்மையான மாற்றங்கள் ஒரேநிலை மாநிலம் நவீன தொடர்புகள் Performance குறைக்கப்பட்ட சேவையகம் கோரிக்கைகள் விரைவான பக்க மாற்றங்கள் திறமையான வள பயன்பாடு சிறந்த பதிலளிக்கும் திறன் ``` ## முன் வகுப்பு வினாதரை [முன் வகுப்பு வினாதரை](https://ff-quizzes.netlify.app/web/quiz/41) ### நீங்கள் தேவையாயிருக்கும்வை வங்கித் தொடர்பான செயலியை சோதிக்க உள்ளூர் வலைப்பservedone server வேண்டும – கவலைப்பட வேண்டாம், இது காட்டினதும் எளிது! நீங்கள் ஏற்கனவே ஒன்றை செட் செய்யவில்லை என்றால், [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 எழுத்து குறியீட்டை** சர்வதேச எழுத்துக்களை ஆதரிக்க அமைக்கிறது - **பார்வை இடைச்சொல் தேர்ந்தெடுக்கப்பட்டு** மொபைல் சாதன பொருந்தும் வகையில் செயற்படுத்துகிறது - **உலாவித் தாவலில் தோன்றும்** விளக்கமான தலைப்பை அமைக்கிறது - **தூய்மையான உடல் பகுதியை** உருவாக்குகிறது, இங்கே செயலியை உருவாக்குவோம் > 📁 **திட்ட அமைப்பு முன்னோட்டம்** > > **இந்த பாட முடிவில், உங்கள் திட்டத்தில் உள்ளவை:** > ``` > bank/ > ├── index.html > ├── app.js > └── style.css > ``` > > **கோப்ப ஓட்டங்கள்:** > - **index.html**: அனைத்து வார்ப்புருக்களையும் கொண்டிருக்கும் மற்றும் செயலி அமைப்பை வழங்கும் > - **app.js**: வழிச் சர்க்குலேஷன், நெவிகேஷன், வார்ப்புரு மேலாண்மை செய்யும் > - **வார்ப்புருக்கள்**: நுழைவு, டாஷ்போர்டு மற்றும் பிற திரைகளுக்கான UI நிர்ணயிக்கும் --- ## HTML வார்ப்புருக்கள் வார்ப்புருக்கள் வலை முன்னேற்றத்தில் அடிப்படையான பிரச்சனையைத் தீர்க்கின்றன. 1440களில் குட்டன் நகர்த்தக்கூடிய அச்சிடும் அகராதியை கண்டுபிடித்தபோது, முழுப் பக்கங்களை உறிஞ்சியவாறு தயாரிப்பதற்குப் பதிலாக மீண்டும் பயன்படுத்தக்கூடிய எழுத்துப் பகுதிகளை உருவாக்கி அவற்றை தேவைக்கேற்ப ஒழுங்குபடுத்த முடியும் என்று உணர்ந்தார். HTML வார்ப்புருக்கள் அதே கோட்பாடு – ஒவ்வொரு திரைக்கும் தனித்தனியான HTML கோப்புகளை உருவாக்கும் பதிலாக, தேவைத்தால் காட்சியளிக்கக்கூடிய பலமுறை பயன்படுத்தக்கூடிய அமைப்புகளை வரையறுக்கிறீர்கள். ```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 கோப்பில் பல [HTML வார்ப்புருக்களை](https://developer.mozilla.org/docs/Web/HTML/Element/template) `