మార్చి 22, 2007

అజాక్స్…

Posted in అజాక్స్, టెక్నాలజీ వద్ద 2:30 సా. ద్వారా Praveen Garlapati

మీరు చూసే ఉంటారు, వెబ్ లో ఎక్కడ చూసినా అజాక్స్ అని మారు మోగిపోతుంటుంది. అసలు అజాక్స్ అంటే ఏంటి ?

మీరు నా ఇంతకు ముందు పోస్ట్ వెబ్ 2.0 చదివే ఉంటారు. అందులో చెప్పినట్టు గా ఈ వెబ్ 2.0 లో అజాక్స్ పాత్ర చాలా ఉంది.

ఇంతకు ముందు వరకూ వెబ్ పేజీలు సింక్రనస్ గా పని చేసేవి. అంటే రెక్వస్ట్, రెస్పాన్స్ మోడల్ అన్నమాట. అంటే ఎవరయినా ఒక పేజీ కోసం రిక్వస్ట్ చేస్తే దానికి రెస్పాన్స్ వస్తుంది. ప్రతీ దానికీ ఈ పేజీ రిఫ్రెష్ అవుతుంది.

కానీ ఈ అజాక్స్ టెక్నాలజీ ఏమిటంటే పేజీ ఎక్కువగా రిఫ్రెష్ చెయ్యకుండానే డాటా ని తెచ్చి యూజర్ కి చూపించడం, వెబ్ పేజీ లను ఎక్కువ ఇంటరాక్టీవ్ గా చెయ్యడం. అంటే మనం డెస్క్‌టాప్ మీద ఓ అప్లికేషన్ వాడుతున్నాము అనుకోండి, దానిని ఎలా చూస్తామో అలాంటి ఎక్స్‌పీరియన్స్ వెబ్ మీద కూడా చూపించడాని కోసం అన్నమాట.

ఇదేదో కొత్త టెక్నాలజీ కాదు. ఎప్పటి నుంచో ఉన్నదే. జావాస్క్రిప్ట్ లో ఉన్న XMLHttpRequest అనే ఆబ్జెక్ట్ ని ఉపయోగించి ఇది సాధ్యమవుతుంది. దీనికి ఎన్నో కొత్త వెబ్ 2.0 కోవకి చెందిన అప్లికేషన్లు ప్రచారం అందించాయి.

దీనికి ఒక మంచి ఉదాహరణ మనం ఉపయోగించే gmail ఇంటర్ఫేస్. ఇది ఎంత ఇంటరాక్టీవ్‌గా ఉంటుందో అందరికీ తెలిసిందే. కీ బోర్డ్ షార్ట్ కట్స్ ఉన్నాయి ఇందులో, ఆటో సేవ్ కూడా ఉంది. గూగుల్ మాప్స్ లో మనం చూసే జూం, గూగుల్ సజెస్ట్ లో మనకు చూపించే సజెషన్స్, గూగుల్ రీడర్ ఇవన్నీ ఉదాహరణలే. ఇంకొన్ని ఉదాహరణలు డిగ్ లో మనం చూసే కామెంట్ స్లైడింగ్ మొదలయినవి.

అంతా బాగానే ఉన్నా దీంట్లో ఎన్నో చిక్కులు ఉన్నాయి. ఏమిటంటె అన్ని బ్రౌజర్లూ ఒకేలా పని చెయ్యకపోవడం. స్టాండర్డ్స్ లేక పోవడం. ఉదాహరణకి ఇందాక చెప్పుకున్న XMLHttpRequest ఆబ్జెక్ట్ ఫైర్ ఫాక్స్ లో ఒక లాగా, ఇంటర్నెట్ ఎక్స్ప్లోరర్ లో మరోలాగ (Activex Object) లభ్యం, కాబట్టి ఈ రెండు బ్రౌజర్లకీ విడి విడిగా కోడ్ రాయాల్సొస్తుంది. సరే వీటి గురించి కాసేపట్లో చెప్పుకుందాం.

ఇకపోతే అజాక్స్ ని abstract చేస్తూ ఎన్నో ఫ్రేంవర్క్స్ వచ్చాయి, అందులో ఒక రెండు యాహూ వారి నుంచి YUI, గూగుల్ వారి నుంచి Google Web Toolkit మొదలయినవి. ఇంకా Dojo Toolkit, script.aculo.us లాంటి లైబ్రరీలు కూడా.

నేను మాత్రం ఇప్పుడిప్పుడే నేర్చుకుంటున్నా కాబట్టి అన్నీ వాడలేదు. YUI కొద్దిగా వాడాను. దానితో ఒక చిన్న ఉదాహరణ చూపిస్తా.

ఇక్కడ ( http://employees.org/~praveeng/ajax/ajax.htm ) ఒక నొక్కు నొక్కండి. ఇక్కడ ఒక టెక్స్ట్ బాక్స్, ఒక బటన్ చూడవచ్చు. ఈ టెక్స్ట్ బాక్స్ లో మీరు ఒక పేజీ పేరు టైప్ చేస్తే నేను ఆ పేజీ ని పైన చూపిస్తాను అన్నమాట, అదీ పేజీ రిఫ్రెష్ అవకుండానే. ఇప్పుడు మీరు ఇందులో “test1.htm” అని రాసి పక్కనున్న బటన్ మీద నొక్కండి. మీకు పేజీ రెఫ్రెష్ కాకుండానే test1.htm లో ఉన్న కంటెంట్ పైన కనిపిస్తుంది. ఇప్పుడు అందులో “test2.htm” అని టైప్ చేసి మళ్ళీ బటన్ మీద ఓ క్లిక్కేయండి. ఇప్పుడు మీకు test2.htm లో ఉన్న కంటెంట్ కనిపిస్తుంది. ఇవన్నీ పేజీ రిఫ్రెష్ కాకుండానే. ఇప్పటికిప్పుడు ఇంతకన్నా సోఫిస్టికేటేడ్ రాయడానికి ఓపిక లేదు. కానీ మీకో అయిడియా వచ్చిందనుకుంట. దీని కోసం పెద్ద కష్ట పడక్కర్లేదు కూడా. ఈ లైబ్రరీలే మన కోసం అన్నీ హాండిల్ చేస్తాయి. అన్నీ కాదు కానీ కొన్ని లైబ్రరీలు అన్ని బ్రౌజర్ల మీద పని చేసే విధంగా లైబ్రరీలను రూపొందించాయి.

సూపర్ ఇంకే దీనితొ సమస్యలేమిటి అనుకుంటున్నారా ? అయితే కాచుకోండి. ఇందాక నేను చూపించిన ఉదాహరణలో ముందు మనం test1.htm ని ఆక్సెస్ చేసాం, తరవాత test2.htm ని, మరి అలాంటప్పుడు బ్రౌజర్లో బాక్ బటన్ నొక్కితే test1.htm మళ్ళీ రావాలిగా, అయితే నొక్కి చూడండి. రాదు. అసలు మీ బ్రౌజర్లో బాక్ బటనే ఎనేబుల్ అయి ఉండదు. ఎందుకంటే ఇది అజాక్స్ కాబట్టి.

అలాగే ఇప్పుడు ఇంకోటి చూపిస్తా, ఏంటంటే ఆ టెక్స్ట్ బాక్స్‌లో “http://employees.org/ అని టైప్ చెయ్యండి. ఆ పేజీ వచ్చిందా పైన ? పని చేస్తుంది గా…

సరే అయితే ఇప్పుడు ఆ టెక్స్ట్ బాక్స్లో http://www.google.com అని టైప్ చెయ్యండి. వచ్చిందా ? రాదు. ఎందుకంటే సెక్యూరిటీ అన్నమాట. across domain XmlHTTPRequest లని ఫైర్ ఫాక్స్ allow చెయ్యదు. ఇంటర్నెట్ ఎక్స్‌ప్లోరర్ చేస్తుందనుకుంట (కొన్ని సార్లు సెటింగులు మార్చాల్సి రావచ్చు). పైన చూసిన http://employees.org/ లోకల్ డొమైన్ కాబట్టి సరిగానే చూపించింది, కానీ http://www.google.com లాంటి బయట డొమైన్ లతో చిక్కన్నమాట. ఫైర్ ఫాక్స్ కోసం డిజిటల్ గా సైన్ చేసిన స్క్రిప్టులు వాడాలని చదివాను. అవి ఎలా రాయాలో నన్ను అడక్కండి. నాకూ తెలీదు.

అజాక్స్ తో చేసిన పేజీలను బుక్‌మార్క్ చెయ్యడం కష్టం. ఎందుకంటే పేజీల URL మారదు కాబట్టి. అలాగే సెర్చ్ ఇండెక్సింగ్ కూడా సరిగా పని చెయ్యదు.

మీలో కొంత మంది చదివే ఉంటారు, కొన్నాళ్ళ ముందు MySpace, Yahoo! ని మించి పేజీ హిట్స్ సాధించిందని. అప్పుడు Yahoo! బాబూ అది మా అజాక్స్ పేజీల వల్ల వచ్చిన చిక్కు, అజాక్స్ తో క్లిక్కులు తక్కువవుతాయి అని వివరణ ఇవ్వాల్సొచ్చింది.

ఇలా ఇన్ని చిక్కులున్నా సరే అజాక్స్ తో వెబ్ సైట్ లు ఎంతో ఇంటరాక్టీవ్ గా తయారవుతాయి గనక జనాలు దీనిని వాడుతూనే ఉంటారు. మంచి మంచి వెబ్ సైట్ లు తయారు చేస్తూనే ఉంటారు.

నాకు ఇప్పుడు చేతులు నొప్పి పుట్టి టైప్ చెయ్యలేక పోతున్నానన్నమాట. అందుకని ముగించాల్సిందే. 🙂

నేనూ అజాక్స్ ఇప్పుడుఇప్పుడే నేర్చుకుంటున్నాను కాబట్టి నాకు తెలిసిన దాంట్లో తప్పులుండవచ్చు. సరి చెయ్యగలరు. ఇంకా ఎక్కువ సమాచారం అందించగలరు.

ప్రకటనలు