Հավելվածների նկարագրությունը google chrome-ում։ Ի՞նչ է «Chrome»-ը: Բրաուզերի նկարագրությունը և առանձնահատկությունները: Նմուշ Chrome հավելվածներ աշխատասեղանի համար

Դա պատահում է բոլորի հետ: Դուք բացում եք երկար էջ և սկսում եք կարդալ՝ չսպասելով, որ այն ավարտվի ներբեռնման ավարտին։ Այս պահին նկարները վերջապես բեռնվում և տեղադրվում են էջում, ինչի արդյունքում դուք կորցնում եք այն վայրը, որտեղից հեռացել եք։

Որպեսզի դա չկրկնվի, բացեք շարժական Chrome ծառայության կարգավորումների էջը, որը գտնվում է այստեղ chrome://flags. Հաջորդը, դուք պետք է գտնեք «Կարգավորել ոլորման» տարբերակը և դրեք այն «Միացված» դիրքում:

2. Երթևեկության խնայողություն

Chrome զննարկիչն ունի օգտակար խնայողությունների հատկություն բջջային տրաֆիկորը, չգիտես ինչու, քչերն են օգտագործում: Այն թույլ է տալիս զգալիորեն նվազեցնել ծախսերը տվյալների սեղմման շնորհիվ: Վեբ էջի տեսքը գործնականում չի փոխվում, սակայն նրա քաշը մի քանի անգամ փոքրանում է։


Դուք կարող եք ակտիվացնել երթեւեկության սեղմումը անմիջապես ծրագրի կարգավորումներում: Մի մոռացեք ժամանակ առ ժամանակ կրկին ստուգել այստեղ՝ այս հատկության արդյունքները տեսնելու համար:

3. Բջջային համակարգչի ներդիրների բացում

Եթե ​​դուք օգտագործում եք Chrome դիտարկիչը ձեր բոլոր սարքերում, ապա հավանաբար գիտեք, որ տվյալները համաժամացվում են դրանց միջև: Հետևաբար, ամենևին էլ պարտադիր չէ էջը էջանշել, եթե այն սկսել եք համակարգչում կարդալ և հանկարծ ինչ-որ տեղ գնալու կարիք ունեք։ Դուք կարող եք պարզապես ճանապարհին բացել «Վերջին ներդիրները» բաժինը ձեր բջջային բրաուզերում, որտեղ դուք կգտնեք հղումներ դեպի բոլոր այն էջերը, որոնք վերջերս դիտել եք՝ անկախ նրանից, թե որ համակարգչից եք օգտագործում:


4. Պահպանեք էջերը անցանց ընթերցման համար

Հետաձգված ընթերցանության ծրագրերը շատ են, բայց միշտ չէ, որ դրանց կարիքը կա, քանի որ Chrome-ն ինքը կարող է էջեր պահել կարդալու համար՝ առանց համացանցին միանալու։ Լռելյայնորեն, այս գործառույթն անջատված է, բայց դա հեշտությամբ կարելի է ուղղել:


Դուք կարող եք միացնել այս գործառույթը փորձնական կարգավորումների էջում Google Chrome. Մուտքագրեք հասցեի տողում chrome://flags, այնուհետև գտեք և ակտիվացրեք տարբերակը chrome://flags/#offline-bookmarks.

5. Էջում ակնարկների օգտագործումը

Եթե ​​հոդվածը կարդալիս հանդիպեք տերմինի, որի իմաստը պետք է հստակեցվի, ապա մի շտապեք անմիջապես դիմել. որոնման համակարգեր. Դուք կարող եք ընդգծել ցանկալի բառը, այնուհետև մտնել համատեքստային մենյուընտրեք «Ցույց տալ հուշումները»: Դրանից հետո ստորև կհայտնվի կոճակներով վահանակ, որը թույլ կտա անմիջապես հարցում ուղարկել ցանկալի հավելվածին կամ ծառայությանը:


Որոնք են գործառույթները բջջային տարբերակՁեզ ամենաշատը դուր է գալիս Google Chrome-ը:

Դա պատահում է բոլորի հետ: Դուք բացում եք երկար էջ և սկսում եք կարդալ՝ չսպասելով, որ այն ավարտվի ներբեռնման ավարտին։ Այս պահին նկարները վերջապես բեռնվում և տեղադրվում են էջում, ինչի արդյունքում դուք կորցնում եք այն վայրը, որտեղից հեռացել եք։

Որպեսզի դա չկրկնվի, բացեք շարժական Chrome ծառայության կարգավորումների էջը, որը գտնվում է այստեղ chrome://flags. Հաջորդը, դուք պետք է գտնեք «Կարգավորել ոլորման» տարբերակը և դրեք այն «Միացված» դիրքում:

2. Երթևեկության խնայողություն

Chrome բրաուզերն ունի բջջային թրաֆիկի խնայողության ամենաօգտակար գործառույթը, որն ինչ-ինչ պատճառներով քչերն են օգտագործում։ Այն թույլ է տալիս զգալիորեն նվազեցնել ծախսերը տվյալների սեղմման շնորհիվ: Վեբ էջի տեսքը գործնականում չի փոխվում, սակայն նրա քաշը մի քանի անգամ փոքրանում է։


Դուք կարող եք ակտիվացնել երթեւեկության սեղմումը անմիջապես ծրագրի կարգավորումներում: Մի մոռացեք ժամանակ առ ժամանակ կրկին ստուգել այստեղ՝ այս հատկության արդյունքները տեսնելու համար:

3. Բջջային համակարգչի ներդիրների բացում

Եթե ​​դուք օգտագործում եք Chrome դիտարկիչը ձեր բոլոր սարքերում, ապա հավանաբար գիտեք, որ տվյալները համաժամացվում են դրանց միջև: Հետևաբար, ամենևին էլ պարտադիր չէ էջը էջանշել, եթե այն սկսել եք համակարգչում կարդալ և հանկարծ ինչ-որ տեղ գնալու կարիք ունեք։ Դուք կարող եք պարզապես ճանապարհին բացել «Վերջին ներդիրները» բաժինը ձեր բջջային բրաուզերում, որտեղ դուք կգտնեք հղումներ դեպի բոլոր այն էջերը, որոնք վերջերս դիտել եք՝ անկախ նրանից, թե որ համակարգչից եք օգտագործում:


4. Պահպանեք էջերը անցանց ընթերցման համար

Հետաձգված ընթերցանության ծրագրերը շատ են, բայց միշտ չէ, որ դրանց կարիքը կա, քանի որ Chrome-ն ինքը կարող է էջեր պահել կարդալու համար՝ առանց համացանցին միանալու։ Լռելյայնորեն, այս գործառույթն անջատված է, բայց դա հեշտությամբ կարելի է ուղղել:


Դուք կարող եք միացնել այս գործառույթը Google Chrome-ի փորձարարական կարգավորումների էջում: Մուտքագրեք հասցեի տողում chrome://flags, այնուհետև գտեք և ակտիվացրեք տարբերակը chrome://flags/#offline-bookmarks.

5. Էջում ակնարկների օգտագործումը

Եթե ​​հոդվածը կարդալիս հանդիպեք մի տերմինի, որի իմաստը պետք է հստակեցնել, ապա մի շտապեք անմիջապես դիմել որոնողական համակարգերին։ Դուք կարող եք ընդգծել ձեր ուզած բառը, այնուհետև համատեքստի ընտրացանկից ընտրել Ցուցադրել առաջարկները: Դրանից հետո ստորև կհայտնվի կոճակներով վահանակ, որը թույլ կտա անմիջապես հարցում ուղարկել ցանկալի հավելվածին կամ ծառայությանը:


Իսկ Google Chrome-ի բջջային տարբերակի ո՞ր գործառույթներն եք ամենաշատը հավանում:

Ձեր մշակած հավելվածը փորձարկելու համար անհրաժեշտ կլինի այն ավելացնել ձեր բրաուզերում: Դա անելու համար chrome://extensions էջում դուք պետք է նշեք «Developer mode» վանդակը: Դրանից հետո հնարավոր կլինի ավելացնել ձեր ընդլայնումը կամ հավելվածը։

manifest.json

Chrome-ի ցանկացած հավելվածի կոդը, ինչպես ցանկացած ընդլայնման, սկսվում է manifest.json ֆայլից: Այն նկարագրում է հավելվածի ողջ մետա-տեղեկատվությունը: Ահա խմբագրի մանիֆեստն ամբողջությամբ.

( «անունը»: «Պարզ տեքստ», «նկարագրություն»: «Չափազանց պարզ տեքստային խմբագրիչ (Chrome հավելվածի նմուշ)», «տարբերակ»: «0.1», «պատկերակներ»: ( «48»: «icon/48.png» ", "128": "icon/128.png" ), "manifest_version": 2, "minimum_chrome_version": "31.0", "offline_enabled": true, "app": ( "background": ( "scripts": [ "js/background.js"] ) ), "թույլտվություններ". ": ["application/javascript", "application/json", "application/xml", "text/*"], "extensions": ["c", "cc", "cpp", "css", " h», «hs», «html», «js», «json», «md», «py», «տեքստիլ», «txt», «xml», «yaml»] ) )

Վերլուծենք այստեղ հանդիպած դաշտերը։ Անունով ու նկարագրով ամեն ինչ պարզ է։ Տարբերակը պարտադիր դաշտ է. Chrome Web Store-ը կպահանջի, որ այն փոխվի, երբ թարմացում եք վերբեռնում ձեր հավելվածում:

var entryToLoad = null; գործառույթը init(launchData) ( var fileEntry = null if (launchData && launchData["iters"] && launchData["iters"].length > 0) ( entryToLoad = launchData["items"]["entry"] ) var options = (շրջանակ՝ «chrome», min. Լայնություն՝ 400, րոպե Բարձրություն՝ 400, լայնություն՝ 700, բարձրություն՝ 700); chrome.app.window.create («index.html», ընտրանքներ); ) chrome.app.runtime.onLaunched: addListener (init);

Ֆոնային էջն աշխատում է ֆոնանկախ հավելվածի պատուհաններից: Շատ ժամանակ այն չի բեռնվում հիշողության մեջ: Երբ համակարգը գործարկվում է, դրա կոդը գործարկվում է և կարող է որոշ իրադարձությունների համար իրադարձությունների մշակիչներ սահմանել, որոնցից ամենատարածվածը onLaunched-ն է: Երբ կարգավորիչները միացված են, ֆոնային էջը սովորաբար բեռնաթափվում է հիշողությունից և հետ է գործարկվում միայն այն դեպքում, եթե տեղի է ունեցել այն իրադարձություններից մեկը, որին բաժանորդագրվել է:

Երբ օգտատերը կտտացնում է հավելվածի պատկերակը կամ բացում է դրա մեջ ֆայլ, onLaunched իրադարձությունը գործարկվում է ֆոնային էջում: Այն փոխանցվում է զանգի պարամետրերը, մասնավորապես, այն ֆայլ(ներ), որը պետք է բացվի հավելվածը: EntryToLoad = launchData["items"]["entry"] կոդը պահպանում է հավելվածին փոխանցված ֆայլը տեղական փոփոխականով, որից այն կվերցնի խմբագրի կոդը: OnLaunched իրադարձությունը կարող է նաև գալ, երբ հավելվածն արդեն բաց է: Այս դեպքում ֆոնային էջի կոդը կարող է ինքնուրույն որոշել՝ բացե՞լ նոր պատուհան, թե՞ ինչ-որ գործողություն կատարել արդեն բացված պատուհանում։

Ամբողջականության համար, ահա CSS-ը.

Տեքստ ( լուսանցք՝ 0; ) վերնագիր (ֆոնի գույնը՝ #CCC; եզրագծում՝ 1px կոշտ #777; -webkit-box-align՝ կենտրոն; -webkit-box-orient՝ հորիզոնական; -webkit-box-pack: ձախ; էկրան՝ -webkit-box; բարձրություն՝ 48px; լիցք՝ 0px 12px 0px 12px;) կոճակ ( լուսանցք՝ 8px; ) textarea ( եզրագիծը՝ ոչ մեկը; -webkit-box-sizing՝ border-box; font-family՝ monospace ; լիցք՝ 4px; դիրք՝ բացարձակ; վերև՝ 48px; ներքևում՝ 0px; ձախ՝ 0px; աջ՝ 0px; լայնություն՝ 100%; ) textarea:focus ( ուրվագիծը՝ ոչ մեկը, կարևոր է; )

Հիմնական կոդը՝ աշխատել ֆայլերի հետ

Քանի որ մեր օրինակում պարզության համար մենք կսահմանափակվենք գործառույթների նվազագույն փաթեթով, խմբագրի հիմնական կոդը գրեթե բացառապես նվիրված կլինի ֆայլերի հետ աշխատելուն: Դրա համար օգտագործվում են մի քանի API-ներ, որոնցից մի քանիսն արդեն W3C ստանդարտացման ճանապարհին են։ Ֆայլի API-ն և հարակից միջերեսները մեծ թեմա են, որն արժանի է առանձին հոդվածի: Ես դա խորհուրդ եմ տալիս որպես լավ ներածություն:

Այսպիսով, եկեք բաժանենք կոդը js/main.js-ում: Ես կտրամադրեմ դրա հատվածները, ամբողջական կոդը գտնվում է Github-ում։

Գործառույթը init(մուտք) ($("#open").click(open); $("#save").click(save);$("#saveas").click(saveAs); chrome.runtime.getBackgroundPage (function(bg) ( if (bg.entryToLoad) loadEntry(bg.entryToLoad);));) $(document).ready(init);

Նախաստորագրման ֆունկցիայի խնդիրն է կոճակներին կարգավորիչներ ավելացնելը և ֆոնային էջից ֆայլ բացելու համար: Ֆոնային էջի համատեքստը ասինխրոն կերպով ստացվում է հիմնական պատուհանից՝ օգտագործելով chrome.runtime.getBackgroundPage:

Կոճակի սեղմման կարգավորիչներ.

var currentEntry = null; ֆունկցիա open() ( chrome.fileSystem.chooseEntry(("տեսակ": "openWritableFile"), loadEntry); ) ֆունկցիա save() ( if (currentEntry) ( saveToEntry(currentEntry); ) else ( saveAs(); )) ֆունկցիա saveAs() ( chrome.fileSystem.chooseEntry ((«տեսակը՝ «saveFile»), saveToEntry);

Մենք կպահենք ընթացիկ FileEntry-ն currentEntry գլոբալ փոփոխականում:

Վերոնշյալ կոդի միակ հատուկ հատկանիշը chrome.fileSystem.chooseEntry մեթոդն է: Օգտագործելով այս մեթոդը, բացվում է ֆայլի ընտրության պատուհան (տարբեր յուրաքանչյուր համակարգում): Ինչպես բոլոր այլ գործառույթների հետ աշխատելու համար ֆայլային համակարգ, այս մեթոդը ասինխրոն է և ստանում է հետ կանչ՝ աշխատանքը շարունակելու համար (մեր դեպքում ստորև նկարագրված loadEntry և saveToEntry գործառույթները)։

Ֆայլի ընթերցում.

Ֆունկցիան setTitle() ( chrome.fileSystem.getDisplayPath(currentEntry, ֆունկցիա(ուղի) ( document.title = ուղի + " - Պարզ տեքստ"; )); ) ֆունկցիա loadEntry(մուտք) (currentEntry = մուտք; setTitle(); մուտք: file(readFile); ) ֆունկցիա readFile(ֆայլ) ( var reader = new FileReader(); reader.onloadend = ֆունկցիա(e) ($("textarea").val(this.result); ); reader.readAsText(ֆայլ );)

setTitle() ֆունկցիայի մեջ մենք փոխում ենք պատուհանի վերնագիրը՝ ցույց տալու ընթացիկ ֆայլի ուղին: Ինչպես կցուցադրվի այս վերնագիրը, կախված է համակարգից: Chrome OS-ում այն ​​ընդհանրապես չի ցուցադրվում: chrome.fileSystem.getDisplayPath-ը ֆայլի ուղին համապատասխան օգտատիրոջը ցույց տալու համար ամենաճիշտ միջոցն է: Ուղու մեկ այլ ներկայացում հասանելի է enter.fullPath-ի միջոցով:

File API-ն ունի երկու տարբեր օբյեկտներ, որոնք նկարագրում են ֆայլը՝ FileEntry և File: Կոպիտ ասած, FileEntry-ն ներկայացնում է դեպի ֆայլ տանող ուղին, իսկ File-ը ներկայացնում է դրա պարունակած տվյալները: Հետևաբար, ֆայլը կարդալու համար անհրաժեշտ է Entry-ով ստանալ File օբյեկտ։ Սա ձեռք է բերվում ասինխրոն entry.file() մեթոդի միջոցով:

Այս օրինակի կոդը հնարավորինս կարճ է պահվում՝ հոդվածի ձևաչափում տեղավորվելու համար: Եթե ​​ցանկանում եք ավելի մանրամասն օրինակներ դիտել, թե ինչպես են օգտագործվում Chrome API-ի որոշ առանձնահատկություններ, ապա GitHub-ում հրապարակված Chrome հավելվածների օրինակների մեծ շարք կա: Ծրագրավորման բոլոր միջերեսների պաշտոնական փաստաթղթերը գտնվում են developer.chrome.com կայքում: Chrome հավելվածի ծրագրավորման վերաբերյալ կոնկրետ հարցերի պատասխաններ ստանալու հիմնական վայրը .

Google Chrome-ը լրջորեն պարզեցնում է շատ բաներ, օրինակ՝ ձեր սեփական հավելվածների ստեղծումը: Այո, դուք կարող եք ձեր հայտը պատրաստել հրապարակման 5 րոպեում, կամ նույնիսկ ավելի քիչ:

Մեզ անհրաժեշտ կլինի.

  • Google Chrome;
  • ձեր կայքը կամ բլոգը, որն արդեն ավելացվել է Google Webmaster Tools-ում և ստուգված է.
  • պատկերակի չափը 128x128 պիքսել;
  • ձեր կայքի սքրինշոթը՝ 1280x800 կամ 640x400 պիքսել չափերով;
  • հավելվածի սքրինշոթ 440×280 պիքսել;
  • Google Analytics ID (UA-XXXXXX-YY ձևաչափով) - կամընտիր;
  • քարտ հաշվում 5 դոլարով:

Մենք ստեղծում ենք հավելված

Մենք կսկսենք ստեղծելով manifest.json ֆայլ: Այս օրինակը ցույց է տալիս NetRival կայքի մանիֆեստը: Բացեք ցանկացած տեքստային խմբագրիչ, պատճենեք այս կոդը դրա մեջ և փոխեք այն ձեր հավելվածի համար.

( «name»: «NetRival - Տեխնոլոգիական բլոգ», «short_name»: «NetRival», «description»: «NetRival-ը բլոգ է, որը կենտրոնացած է անհատական ​​տեխնոլոգիաների, հրահանգների ձեռնարկների, հարմարանքների և հեռահաղորդակցության վրա», «տարբերակ»՝ «0.1 ", "manifest_version": 2, "icon": ( "128": "icon_128.png" ), "app": ( "urls": [ "http://www.netrival.com/#utm_source=google_chrome&utm_medium= chrome_app&utm_campaign=google_chrome_app" ], "գործարկում": ( "web_url": "http://www.netrival.com/#utm_source=google_chrome&utm_medium=chrome_app&utm_campaign=google_chrome_app" ) )

Առնվազն, դուք պետք է փոխեք «name», «short_name» դաշտերը, ինչպես նաև նկարագրություններն ու հղումները: Վերանվանեք ձեր հավելվածի պատկերակը icon_128.png: Ստեղծեք նոր գրացուցակ, այնտեղ դրեք manifest.json-ը և հենց պատկերակը: Այժմ սեղմեք գրացուցակը zip ֆայլի մեջ: Այն ձեզ ավելի ուշ պետք կգա։

Հավելվածը բեռնվում է Google Chrome-ում

Բացեք ձեր զննարկիչը, անցեք chrome://extensions/ և համոզվեք, որ նշված եք «Developer Mode» վանդակը: Այն գտնվում է վերևի աջ կողմում գտնվող էջում (սա երևում է նկարում): Այնուհետև կտտացրեք «Բեռնել չփաթեթավորված ընդլայնումները» կոճակը և ընտրեք այն թղթապանակը, որտեղ գտնվում են manifest.json-ը և ձեր ընդլայնման պատկերակը: Ձեզ հարկավոր չէ ներբեռնել zip արխիվը, Google Chrome-ը ավտոմատ կերպով կներբեռնի manifest.json ֆայլը նշված գրացուցակից, այս դեպքում E:\NetRival_Chrome_App-ից (ընդգծված է սքրինշոթում):

Ստեղծված ընդլայնման ստուգում

Փլագինը արդեն աշխատում է: Սա տեսնելու համար անցեք chrome://apps/ և կտեսնեք մի բան, որը նման է սքրինշոթի (սեղմելով պատկերակի վրա՝ կհասցնեք ձեր կայք կամ բլոգ):

Մենք տեղադրում ենք ընդլայնումը պաշտոնական գրացուցակում

Այժմ դուք կարող եք տեղադրել մեր ընդլայնումը Google Chrome Store-ում, որտեղից յուրաքանչյուրը կարող է ներբեռնել այն: Դուք պետք է ներբեռնեք manifest.json-ը և պատկերակը zip ֆայլում (մենք արդեն արել ենք դա): Բայց նախ դուք պետք է վճարեք $5 գրանցման վճար, որը ձեզ հնարավորություն կտա մուտք գործել Google Chrome Developer Console (այս $5-ով կարող եք ցուցակագրել 20 Chrome-ի ցանկացած հավելված, ընդլայնում կամ թեմա խանութում):

Գնացեք https://chrome.google.com/webstore/developer/dashboard և վճարեք 5 դոլար: Վճարումից հետո սեղմեք «Ավելացնել նոր ապրանք» կոճակը և ընտրեք ընդլայնումով zip ֆայլ: Դրանից հետո ձեզ հարկավոր է լրացնել կարճ հայտի ձևը և ավելացնել սքրինշոթեր:

Habré-ում հրապարակվել են բազմաթիվ հոդվածներ Chrome-ի համար ընդլայնումներ ստեղծելու մասին, սակայն Chrome հավելվածների (այսպես նաև Chrome հավելվածներ) մշակման թեման շատ ավելի քիչ է շոշափվել։ Վերջերս այն ավելի արդիական է դարձել ChromeOS-ով սարքերի տարածման պատճառով։ Բացի այդ, Chrome-ի համար հավելվածներ ստեղծելու ենթակառուցվածքը դարձել է ավելի կայուն և հեշտ օգտագործման համար: Այս հոդվածում ես կփորձեմ պատասխանել հիմնական հարցերին. ինչու՞ ընդհանրապես գրել հավելվածներ Chrome-ի համար, ինչպես են դրանք տարբերվում ընդլայնումներից, վեբ ծառայություններից, աշխատասեղանի հավելվածներից և այլն, ինչպես նաև ինչպես են դրանք մշակվում և ինչ սահմանափակումներ են դրվում դրանց վրա: Եթե ​​այս թեման հետաքրքրություն առաջացնի, հոդվածը կունենա շարունակություն՝ ավելի կոնկրետ հարցեր ընդգրկող։

Ինչի համար

Նույն ֆունկցիոնալությունը կարող է իրականացվել բոլորովին այլ տեխնոլոգիաների միջոցով. կարող եք Windows-ի համար ծրագիր գրել, վեբ ծառայություն պատրաստել, բջջային հավելված Android-ի և/կամ iOS-ի համար և այլն: Ի՞նչը կարող է դրդել հեղինակին ընտրել Chrome հավելվածը:
  • Աշխատում է ChromeOS-ում: Այս պահին Chrome հավելվածը ձեր ծրագիրը Chromebook-ի օգտատերերին հասցնելու հիմնական միջոցն է: Արժե՞ արդյոք այն: Chromebook-ները դեռ ավելի փոքր են, քան, ասենք, Windows համակարգիչները, բայց միտումը փոխվում է: Անցյալ տարի ԱՄՆ-ում 5 անգամ ավելի շատ Chromebook է վաճառվել, քան Macbook-ը։
  • Chrome հավելվածներն աշխատում են Windows-ի, Linux-ի և OS X-ի վրա՝ առանց ավելորդ ջանքերի: Իհարկե, հավելվածը շարժական դարձնելու շատ այլ եղանակներ կան, բայց դրանցից շատերը նկատելիորեն ավելի թանկ են:
  • Վերջերս հնարավոր է դարձել Chrome հավելվածները տեղափոխել Android և iOS համակարգեր:
  • Համակարգերի մեծ մասում օգտատիրոջ համար Chrome հավելվածները սովորական ծրագրեր են թվում: Դրանք գործարկվում են մեկնարկային ընտրացանկից, բացում են սովորական պատուհանները՝ առանց դիտարկիչի հսկողության, կարող են օգտագործվել որպես լռելյայն ծրագրեր՝ ֆայլեր բացելու համար և այլ կերպ վարվել։
    որպես ամբողջական ծրագրեր։

Փաթեթավորված հավելվածներ և տեղակայված հավելվածներ

Բոլորը տեսել են Search, Gmail, Google Drive պատկերակները Chrome-ում լռելյայն տեղադրված հավելվածների ցանկում: Եթե ​​սեղմում եք դրանցից մեկի վրա, հավելվածի նմանվող ոչինչ չի բացվում: Փոխարենը օգտատերը պարզապես տեղափոխվում է համապատասխան ծառայության էջ։

Բանն այն է, որ երկու հիմնարար կա տարբեր տեսակներհավելվածներ՝ հյուրընկալված հավելված և փաթեթավորված հավելված: Ցավոք սրտի, դրանց համար չկան հաստատված ռուսերեն տերմիններ։ Որոնումը, Gmail-ը և այլն տեղակայված են: Նման հավելվածը բաղկացած է manifest.json ֆայլից՝ URL-ով և անվտանգության կարգավորումներով, ինչպես նաև պատկերակով: Փաստորեն, հյուրընկալված հավելվածը հատուկ ներդիր է առցանց ծառայության համար:

Ի տարբերություն հոսթինգի, փաթեթավորված հավելվածի դեպքում հավելվածի աշխատանքի համար անհրաժեշտ բոլոր ֆայլերը պահվում են օգտատիրոջ համակարգչում։ Նման հավելվածները հակված են ավելի լավ աշխատել անցանց ռեժիմում, կարող են կառավարել իրենց սեփական պատուհանները և, ընդհանուր առմամբ, մուտք ունեն ավելի շատ Chrome API-ներ:

Ապագայում մենք կխոսենք փաթեթավորված հավելվածների մասին:

Ծրագրեր և ընդլայնումներ

Օգտատիրոջ տեսանկյունից, ընդլայնումները և հավելվածները կատարում են բոլորովին այլ գործառույթներ. ընդլայնումը փոխում է, թե ինչպես է նա օգտագործում բրաուզերը, մինչդեռ հավելվածը կատարում է որոշ առաջադրանքներ բրաուզերից առանձին: Ընդլայնումը փոխում է էջերի բովանդակությունը և, հավանաբար, ավելացնում է մի քանի կոճակ, և հավելվածը սովորաբար աշխատում է իր պատուհանում:

Միևնույն ժամանակ, ներսից ընդլայնումները և հավելվածները շատ նման են: Երկուսն էլ տեղադրված են Chrome Web Store-ից և .crx ֆայլեր են, որոնք zip արխիվներ են: Ընդլայնման/հավելվածի հատկությունները նկարագրված են manifest.json ֆայլում, և դրանց միջերեսը գրված է HTML5-ով: Շատ Chrome API-ներ հասանելի են ինչպես ընդլայնումների, այնպես էլ հավելվածների համար:

Միեւնույն ժամանակ, կան էական տարբերություններ. Հավելվածները կարող են օգտագործել ընդլայնումների համար անհասանելի գործառույթներ.

  • կառավարել ձեր պատուհանները
  • ուղղակիորեն աշխատել օգտագործողի համակարգչի ֆայլերի հետ,
  • ծրագրերի կողմից նշանակված լինել օպերացիոն համակարգի կողմից որոշ տեսակի ֆայլեր բացելու համար,
  • բաց TCP և UDP կապեր (սա, օրինակ, օգտագործվում է SSH հաճախորդի կողմից Chrome-ի համար),
  • աշխատել USB-ով:

Զարգացման առանձնահատկությունները

Արդեն նշեցի, որ օգտատիրոջ տեսանկյունից Chrome հավելվածները շատ չեն տարբերվում սովորական ծրագրերից։ Միևնույն ժամանակ, ծրագրավորողի տեսանկյունից դրանք դասավորված են միանգամայն այլ կերպ։ Որոշ գործողություններ ավելի հեշտ են, ոմանք ավելի դժվար:

Հավելվածների կողմից օգտագործվող շատ ինտերֆեյսներ ընդհանուր ընդունված ստանդարտներ են և լավ հայտնի են բոլոր վեբ մշակողների համար: UI-ի համար օգտագործվում են HTML և CSS, HTTP-ի հետ աշխատելու համար՝ XMLHTTPRequest և այլն:

Chrome հավելվածն իրականացնում է համաժամացում տարբեր համակարգիչների վրա հավելվածների օրինակների միջև՝ քիչ կամ առանց լրացուցիչ ջանքերի: Ֆայլերի հետ աշխատելը, ինչպես բոլոր այլ ինտերֆեյսները, որոնք կախված են արտաքին ռեսուրսներից, ասինխրոն է: Սա մի կողմից որոշակիորեն բարդացնում է համապատասխան գործողությունների կոդը, մյուս կողմից՝ երաշխավորում է ինտերֆեյսի արձագանքողությունը և կանխում արգելափակումը։

Chrome-ի մեկ այլ առանձնահատկությունն անվտանգության կառավարումն է: Chrome-ում այն ​​դասավորված է այլ կերպ, քան դասականներում։ օպերացիոն համակարգերև ավելին, ինչպես Android-ի անվտանգության համակարգը: Chrome-ի մշակողները միշտ պահպանողականորեն են մոտեցել ծրագրավորման միջերեսների ավելացմանը: Համակարգը նախագծելիս ավելի հեշտ է ժամանակի ընթացքում թուլացնել անվտանգության սահմանափակումները, քան դրանք ավելի սահմանափակող դարձնելը: Արդյունքում, օրինակ, հավելվածները չունեն անսահմանափակ մուտք դեպի ֆայլային համակարգ։ Նրանք հիմնականում աշխատում են հավելվածի կամ օգտատիրոջ կողմից բացված ֆայլերի հետ:

Ինչ կարող եք օգտագործել բացի HTML + JavaScript-ից

Chrome-ի ծրագրավորման հիմնական լեզուն, իհարկե, JavaScript-ն է։ Բայց սա չի նշանակում, որ ձեր ամբողջ կոդը պետք է վերագրվի դրա վրա: Կան մի քանի լուծումներ, որոնք թույլ են տալիս օգտագործել կոդ ծրագրավորման այլ լեզուներով ձեր Chrome հավելվածում: Նրանց մեջ:
  • հայրենի հաճախորդ. Կոդը կազմված է, որպեսզի թույլատրի և՛ պրոցեսորի կատարումը, և՛ դիտարկիչի ստուգումը: NaCl կոդը օգտագործում է Pepper API-ների բավականին հարուստ հավաքածու արտաքին աշխարհի հետ հաղորդակցվելու համար, ներառյալ, մասնավորապես, աշխատել ֆայլային համակարգի, OpenGL-ի և ձայնի հետ:
  • Emscripten Եթե NaCl-ը ձեզ մոտ չի աշխատում, կարող եք ձեր C++ կոդը կազմել անմիջապես JavaScript-ում: Ժամանակակից բրաուզերների վրա ստացված JavaScript-ը ընդամենը մի քանի անգամ ավելի դանդաղ է, քան եթե այն կազմված լիներ հայրենի կոդով: Առավելություններից՝ համատեղելիություն JavaScript-ից հասանելի բոլոր ինտերֆեյսերի հետ:

Օրինակ


Եզրափակելով, ես կտամ մի օրինակ, որի վրա ես ինքս աշխատել եմ (և
Աշխատանքային): Սա տեքստային խմբագիր է: Խմբագրի կոդը հասանելի է github-ում: Փաստացի խմբագրման համար օգտագործվում է CodeMirror գրադարանը: Հավելվածն իրականացնում է աշխատանք ֆայլերի, պատուհանների, պահպանման կարգավորումների և այլ անհրաժեշտ գործառույթների հետ:

 
Հոդվածներ Ըստթեմա:
Inverter միկրոալիքային վառարանների վերանորոգում Panasonic
Ես ատում եմ ողողել ֆորումները, բայց այս անգամ պետք է դա անեմ: Երբևէ եղե՞լ եք Սոչիում ամռանը: Եթե ​​հանկարծ հայտնվեք այստեղ, ուշադիր նայեք բարձրահարկ շենքերի ճակատներին, հաշվեք, թե միաժամանակ քանի օդորակիչ է աշխատում։ Հետո հաշվեք
Wi-Fi երթուղիչը դադարել է աշխատել ամպրոպից հետո
Անգամ խորհրդային ժամանակներից ավանդույթ է պահպանվել՝ ամպրոպի ժամանակ ամեն ինչ անջատեք վարդակներից։ Բայց ի՞նչ անել սառնարանի հետ, քանի որ ամպրոպային եղանակը կարող է տևել մի քանի ժամ, և այս ընթացքում այն ​​կհոսի: Կամ, եթե դուք ունեք հրատապ նախագիծ և չեք կարող անջատել
Ինչպես վերականգնել hosts ֆայլը Windows-ում hosts ֆայլը դատարկ է Windows 7-ում
Մի քիչ տերմինաբանություն DNS (Անգլերեն հապավումը Domain Name System-ի համար) - Domain Name Service: Սահմանում է համապատասխանությունը թվային IP հասցեների և տեքստային անունների միջև: DNS (Անգլերեն հապավումը Domain name server) - տիրույթի անունների սերվեր
Ձեր համակարգիչը ճիշտ ժամանակին ավտոմատ անջատելու ժմչփի կարգավորումը. ոչինչ ավելի հեշտ չի կարող լինել:
ՕՀ-ի և սարքավորումների թերի անջատում: Նախագծված է համակարգչի բեռնումը արագացնելու համար: Ծրագրերը չեն անջատվում, փաստաթղթերը չեն փակվում: Քանի որ ներբեռնումը տեղի է ունենում մի քանի վայրկյանում: Ավելի շատ նման է անջատման, քան քնի: Էլեկտրականություն p