K vašim službám... - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se narodil známý fotograf František Drtikol?

V dnešní soutěži hrajeme o:

Seriály

Více seriálů



Software

K vašim službám...

23. října 2001, 00.00 | Vzhledem k tomu, že nová verse Mac OS X 10.1 konečně podporuje integraci aplikačních služeb — tzv. Services — i v kamenouhelných aplikacích, nastal čas, abychom se na tento geniálně navržený systém podívali blíž.

Vzhledem k tomu, že nová verze Mac OS X 10.1 konečně podporuje integraci aplikačních služeb — tzv. Services — i v kamenouhelných aplikacích, nastal čas, abychom se na tento geniálně navržený systém podívali blíž.

O co vlastně jde?

Nejprve malou ukázku: spusťte si TextEdit, a představte si, že píšete nějaký článek o Mac OS X. Dříve nebo později nastane chvíle, kdy by bylo vhodné vložit do textu nějaký snímek obrazovky — díky systému Services je to snadné, aniž bychom vlastně opustili TextEdit: prostě otevřeme menu Services / Grab, a vybereme třeba Selection:

To nám umožní označit požadovaný obdélník na obrazovce, a jakmile s označováním skončíme, jeho obsah se vloží na místo kursoru do textu, který právě píšeme.

Jistě, oproti Classickému stisknutí některé z bláznivých kombinací Alt-Shift-Cmd-3 (nebo jak to přesně bylo) a pak Cmd-v pro vložení obrázku ze schránky do textu jsou výhody zanedbatelné — zde jde jen o to, že ke službě přistupujeme standardním způsobem prostřednictvím menu a nemusíme si pamatovat prstolamné kombinace, a možná i o to, že schránka zůstane beze změny. Systém Services však toho umí mnohem víc; my jsme zvolili tento jednoduchý příklad jako ukázku, na které si vysvětlíme základy systému Services:

Samozřejmě, že se nejedná o novou, až dosud utajenou službu aplikace TextEdit: označování a snímání obrazovky ve skutečnosti zajistila aplikace Grab, jejíž službu jsme si — prostřednictvím TextEditu a systému Services — vyžádali. Co se tedy vlastně dělo?

  1. hned při loginu systém zjistil, že (mj.) aplikace Grab nabízí (mj.) službu "Selection", a to komukoli, kdo je schopen zpracovávat obrázky;
  2. při běhu aplikace TextEdit dala systému na vědomí, že na místo kursoru lze (mj.) vložit obrázek;
  3. na základě toho systém zajistil, že v menu Services aplikace TextEdit je k dispozici položka Grab/Selection;
  4. pokud tuto položku vybereme, systém předá požadavek "Selection" aplikaci Grab (pokud aplikace neběží, systém ji automaticky spustí na pozadí);
  5. aplikace Grab zpracuje požadavek (tím, že nám umožní označit obdélník na obrazovce, a sejmutím jeho obsahu), a výsledná data předá systému;
  6. ten data (tj. obrázek) předá aplikaci TextEdit, která službu vyvolala; aplikace obrázek vloží na místo kursoru.

Podstatné je to, že jde o naprosto obecný systém, který není nijak vázán na speciální systémové triky (jako Classické snímání obrazovky): přesně stejným způsobem může libovolná aplikace nabízet libovolnou službu libovolné jiné aplikaci.

Představme si třeba jednoduchou aplikaci, která nabízí "citát pro dnešní den" jako text (my si na konci tohoto seriálku předvedeme zdrojový kód právě takové aplikace jako ukázku, jak Services programovat). V libovolné aplikaci, jež dokáže přijímat text — TextEdit, ProjectBuilder, Mail,... — pak budeme mít k dispozici položku menu Services, která prostě na místo kursoru vloží náhodně vybraný citát...

Jde to i na druhou stranu

Services ovšem nejsou omezeny jen na přebírání dat z jiných aplikací; stejně dobře můžeme naopak data do jiných aplikací odesílat. Označíme-li např. v TextEditu (nebo kdekoli jinde) nějaký text, můžeme použít službu Services / Make Sticky: ta označený text předá aplikaci Stickies, a ta s ním vytvoří novou "nálepku". Postup je v tomto případě jen nepatrně odlišný:

  1. hned při loginu systém zjistil, že (mj.) aplikace Stickies nabízí službu "MakeSticky", a to komukoli, kdo je schopen nabídnout text;
  2. při běhu aplikace TextEdit dala po označení bloku systému na vědomí, že právě teď má k dispozici pro ostatní nějaký text;
  3. na základě toho systém zajistil, že v menu Services aplikace TextEdit je k dispozici položka Make Sticky;
  4. pokud tuto položku vybereme, systém předá požadavek "Make Sticky" aplikaci Stickies (pokud aplikace neběží, systém ji automaticky spustí na pozadí);
  5. aplikace Stickies zpracuje požadavek -- tím, že vytvoří novou "nálepku" s daným obsahem, aktivuje se, a zobrazí ji.

Obě cesty je možné i kombinovat: aplikace, která nabízí nějakou službu, může nejprve přijmout data, nějak je zpracovat, a výsledek pak předat aplikaci, jež službu vyvolala. Tak třeba OCR aplikace bude jistě schopna přijmout obrázek a vrátit text; my si na konci ukážeme podobnou službu naší triviální citátové aplikace, jež bude schopna najít citát k označenému slovu.

Příště...

...se podíváme na služby standardních aplikací, jež nalezneme v instalaci OS X 10.1.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Software  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

Zajímavé

Autor: babka Muž

Založeno: 23.10.2001, 07:33
Odpovědí: 0

Zajímavý systém. Často je lepší ponořit se do nového systému a pochopit změny než kritizovat, "co to zase ti kokoti změnili".

Odpovědět na příspěvek

Skvely clanek

Autor: Michal Muž

Založeno: 23.10.2001, 08:51
Odpovědí: 0

Jen tak dal a mnoho dalsich clanku. Takto psane clanky patri na tento server. Uz se tesim.

Odpovědět na příspěvek

pekne, ale jeste kdyby to fungovalo...

Autor: agent Muž

Založeno: 23.10.2001, 20:25
Odpovědí: 0

bohuzel to neni uplne dokonale (zatim) ve vetsine pripadu to nefunguje a neumi to nektere uzitecne veci...
proc treba nejde pres "sluzby" otevrit image disku, proc nejde odeslat soubor mejlem, proc nejde odeslat text mejlem, proc nefunguji "sluzby" v podelalnych "uhlenych" aplikacich, proc nejsou implementovany zadne "sluzby" pro spousteni a vykonavani aplikaci a scriptu AppleScript... ne, proste to zatim funguje tak z 20%... a je to VELKA SKODA!

Odpovědět na příspěvek

RE: pekne, ale jeste kdyby to fungovalo...

Autor: oc Muž

Založeno: 24.10.2001, 18:13

Dostaneme se k tomu. Hlavni problem je, ze Carbon je kram, ve kterem musi vyvojar udelat uplne vsechno sam -- a ze vyvojari carbonovskych aplikaci (vcetne tech od Apple, co delaji Finder) se na to zatim vykaslali.

Psal mi nekdo od BBEditu ze snad hned nejblizsi pristi verse bude services podporovat korektne; u ostatnich nevim.

oc

Odpovědět na příspěvek

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: