AppleScript - úvod - 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

 

Jaký fotograf/ka získal/a cenu za nejpopulárnější příspěvek v Nikon Photo Contest?

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

Seriály

Více seriálů



Software

AppleScript - úvod

18. dubna 2006, 00.00 | V tomto seriálu bych rád představil, co je AppleScript, ukázal, jak pracuje a jak v něm programovat. Na konkrétních příkladech pak uvidíte jeho sílu a možnosti které nabízí. Krok za krokem projdeme jeho základy a jejich praktické použití, které dá prostor vaší fantazii při tvoření svých vlastních programů.

O výhodách operačního systému Mac OS X zde již bylo řečeno mnoho, pojďme se ale blíže podívat na mocného pomocníka, který pomáhá systémům Apple již pěknou řádku let – na AppleScript. Jedná se o jednoduchý programovací jazyk určený běžnému uživateli, který nabízí široké spektrum použití, jak na poli systému, tak na poli jednotlivých aplikací. Jeho síla je v jednoduchosti a variabilitě, kterou nedisponuje žádný jiný programovací jazyk. Na jedné straně je tak jednoduchý, že ho pochopí i učenlivé dítě, na druhé straně schopný zvládnout složité a náročné operace. Záleží jen na vás, na jakou úroveň se dostanete. Ať už potřebujete jednoduchou jednoúčelovou aplikaci, nebo složitý program např. na převody textu či obrázků, je AppleScript připraven vám pomoci.

Děláte-li nějakou operaci častěji a nudí vás její věčné manuální opakování, právě k tomu je tu Apple Skript, který to udělá za vás. Potřebujete si pravidelně něco připomenout, nechat si po startu počítače spustit vybrané aplikace, přesně podle toho co zrovna chcete dělat, také žádný problém, pro AppleScript je to hračka. Proč hledat na internetu určitou utilitu, která přesně nesplňuje vaše očekávání nebo nedělá přesně to, co chcete, napište si program přímo na míru, přesně takový, jaký právě vy potřebujete.

AppleScript má velkou výhodu v podpoře, které se mu po léta dostává nejen od Applu, ale i od jiných softwarových vývojářů, proto je valná většina programů skriptovatelných. To znamená, že obsahují určitý slovník příkazů, kterými si voláte na pomoc operace, které potřebujete. Tyto příkazy musí být směrovány přímo k dané aplikaci, na rozdíl od základního systémového slovníku, jehož příkazy jsou prováděny standardně, nezávisle na právě aktivní aplikaci. Kombinací jednotlivých operací prováděných několika aplikacemi docílíte přesně takového výsledku, jaký potřebujete. Můžete tak s jedním programem stáhnout fotky z fotoaparátu, uložit si kopie do zálohy, zmenšit jejich velikost, všechny přejmenovat a zmenšené, přejmenované fotografie odeslat mailem všem vybraným obchodním partnerům nebo příbuzným. Tím ušetříte mnoho času, který můžete věnovat další práci.

Umíte-li trochu anglicky - naučíte se i AppleScript. Pokud jste si někdy zobrazili zdrojový kód nějaké www stránky, nebo se učili základy HTML, jistě víte, že takové programování není jednoduché, samá lomítka, různé závorky, nesrozumitelné zkratky a příkazy. Tak na to klidně zapomeňte! AppleScript je v podstatě angličtina s trochu specifickým pravopisem, vše je logické a jednoduché a brzy vám nebude psaní AppleScriptu činit žádné potíže. Navíc Script Editor (Editor Skriptů) umí spoustu chyb opravit sám, nebo na ně včas upozorní. Vše také přehledně strukturuje a barevně odlišuje klíčová slova, aby byla na první pohled patrná a přehledná orientace ve vašem programu, což oceníte hlavně když vaše programy začnou být složitější, delší a zaměřené na více problémů.

A jak tedy na to? Nejdříve si najděte Script Editor (Editor Skriptů), který vám bude dobrým pomocníkem, rádcem, a především korektorem. Nabídne vám různé možnosti, jak svůj skript uložit a také možnost nastavit parametry určující chování aplikace v různých situacích. Tohoto pomocníka najdete ve složce AppleScript, která se nachází ve složce vašich aplikací. A právě na Script Editor (Editor Skriptů) se zblízka podíváme příště, a rovnou si zkusíme napsat nějakou jednoduchou aplikaci.

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

 

slava

Autor: Lukas Kalista Muž

Založeno: 18.04.2006, 00:39
Odpovědí: 0

Tak o tento serial jsem prosil uz pred mnoha lety :-) Hura!!!

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

sem s tim

Autor: Jancak Muž

Založeno: 18.04.2006, 01:23
Odpovědí: 0

take na to cekam jiz dlouho

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

Par detailu

Autor: ANo Muž

Založeno: 18.04.2006, 01:31
Odpovědí: 0

Clanek vypada slibne a pokud si ctenare naslo Kakao a drive Terminal, tak AppleScript si je, pokud to bude srovnatelne kvalitni serial, najde jeste spis.

Bohuzel neni pravda, ze "valna vetsina" aplikaci je skriptovatelna - kdyz pominu zakladni terminologii nebo ovladani pres GUI. (Samotneho me to mrzi, ale mam pocit, ze AppleScript se tak trochu potaci na hranici preziti.) To uzavorkovane je skutecne jen takovy muj pocit, nechci vyvolat zadnou hloupou diskusi, ani tim nechci rict, ze nema smysl se AS zabyvat, naopak. Za tim, ze skriptovatelnych aplikaci zas tolik neni, si stojim, pokud autor nemluvi vyhradne o aplikacich Apple.

A taky neni na skodu rozlisovat programovaci, skriptovaci (AppleScript) a znackovaci jazyky (HTML). Chybelo mi jeste vymezeni ve vztahu k Automatoru (ten scenar s fotkami dela treba na me dojem, ze se na nej hodi prave Automator).

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

RE: Par detailu

Autor: OC Muž

Založeno: 18.04.2006, 01:58

Automator a AppleScript se hodí na totéž :) Používají sice poněkud odlišných prostředků, ale *v zásadě* oba fungují stejně, a liší se pouze tím, že Automator je GUI-based, kdežto AppleScript source-based. (Díky tomu je AppleScript také silnější, kdežto Automator zase pohodlnější.)

Dokud a pokud ale zůstaneme u základních operací (jako třeba ty fotky), dá se to udělat v obou přesně stejně dobře a v zásadě i stejně snadno, spíše záleží na tom, komu co lépe vyhovuje. Pro typického uživatele Apple možná je Automator lepší, neboť AppleScript příliš připomíná programování; naopak pro programátory je (díky své větší síle) obvykle lepší AppleScript.

Mimochode
m: "nechat si po startu počítače spustit vybrané aplikace" je opravdu *daleko* ze všeho nejsnazší prostřednictvím Dock menu "Open at Login", respektive (pro ty, jež v doku nemáme) jeho alternativy System Preferences / Accounts / Login Items, automator neautomator, applescript neapplescript ;)

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

RE: RE: Par detailu

Autor: Zdenek Muž

Založeno: 18.04.2006, 08:57

Ano, Login items jsou nejjednodušší, ale já měl na mysli, že jednou jdu dělat DTP a podruhý třeba jen faktury a k tomu Photoshop nepotřebuju, takhle si vytvořim aplikaci která se mě vždy zeptá a spustí jen to co budu potřebovat...

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

RE: RE: Par detailu

Autor: ANo Muž

Založeno: 18.04.2006, 18:14

Presne tohle bych si rad byl precetl v tom clanku:).

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

RE: Par detailu

Autor: nm Muž

Založeno: 18.04.2006, 15:47

Tak si tim rozdilem mezi programovacimi a skriptovacimi jazyky nejsem nejak jisty. IMHO je kazdy skript program.
Pokud neni AppleScript programovaci jazyk, co treba Python ci Perl? A kde je ta hranice?

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

RE: RE: Par detailu

Autor: Jirka. Muž

Založeno: 18.04.2006, 16:33

Jasne ze jsou to vsechno programovaci jazyky. Ta "klasifikace" jazyku od ANo je fakt povedena.

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

RE: RE: RE: Par detailu

Autor: ANo Muž

Založeno: 18.04.2006, 18:13

Ta hranice vede prave nekudy pres Python a Perl, ktere jsou pomerne vhodne na skriptovani i programovani (zalezi na osobnich preferencich). Na jedne strane te hranice je ale AppleScript a shell scripty a na druhe je treba C.

A HTML neni programovaci ani skriptovaci jazyk. S tim na me nechodte.

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

RE: RE: RE: RE: Par detailu

Autor: nm Muž

Založeno: 18.04.2006, 21:26

Já jsem o markup languages (značkovacích jazycích) nic neřekl. O těch jste mluvil jen Vy. :-)

Jen si dovolím nadále trvat na tom, že skriptování je programování a program, který se nekompiluje, je stále program. I když je napsaný třeba v sh, PostScriptu nebo AppleScriptu. A o tom, zda je programovací jazyk Perl či Python snad vážně nemá smysl diskutovat. Vaše *argumenty* mě ale stále zajímají… :-)

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

RE: RE: RE: RE: RE: Par detailu

Autor: ANo Muž

Založeno: 18.04.2006, 21:44

HTML bylo oznaceno jako programovaci jazyk v clanku.

Ano, kazdy skript je program. Nekterym programovacim jazykum se proste obvykle rika skriptovaci, coz reflektuje typ uloh, na ktere se obvykle pouzivaji. Programum v techto jazycich se obvykle rika skripty. (Je to takhle lepsi?)

Problem je v tom, ze kdyz reknu o AppleScriptu, ze je to programovaci jazyk, je to asi jako, kdybych rekl, ze kalkulacka je pocitac, coz samozrejme je a taky je a na nektere veci hodi mnohem vic nez osobni pocitac...

A Perl se da docela dobre pouzit jako skriptovaci jazyk, narozdil treba od C.

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

RE: RE: RE: RE: RE: RE: Par detailu

Autor: OC Muž

Založeno: 18.04.2006, 22:07

"Na rozdíl od C" je poněkud příliš silné tvrzení :) -- viz kupříkladu FScript (www.fscript.org).

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

RE: RE: RE: RE: RE: RE: Par detailu

Autor: nm Muž

Založeno: 19.04.2006, 08:34

No, moc se mi to nevyjasnilo, ponevadž třeba "typ úloh, pro které se obvykle používá Perl", opravdu neznám.

AppleScript neznám, ale při několika drobných pokusech se mi jevil (ve srovnání s shellem ci Perlem) *velmi* pomalým. Odhaduji tedy, že to je důvod, proč jej na rozdíl od Perlu, Pythonu a spol. těžko použít třeba pro XML parser či textový editor.
Nebo má AppleScript nějaká další omezení?

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

RE: RE: RE: RE: Par detailu

Autor: Jirka. Muž

Založeno: 18.04.2006, 22:20

Jasne ze HTML je programovaci jazyk. Neni sice ani univerzalni jako C, Python nebo Ruby, ani skriptovaci jako AppleScript nebo JavaScript, ale to vubec nevadi. Pouziva se k rizeni pocitace, tak je to programovaci jazyk. "Markup Languages", cesky snad "jazyky se znackami", proste jsou take programovacimi jazyky.

A vubec, prijde mi malicherne do takovychle hnid v clancich pichat.

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

RE: RE: RE: RE: RE: Par detailu

Autor: OC Muž

Založeno: 18.04.2006, 22:45

> Pouziva se k rizeni pocitace, tak je to programovaci jazyk

Myš je také programovací jazyk? ;)

Nicméně souhlasím, že hranice mezi markup a programming languages je lehce neostrá; sám bych ovšem HTML rozhodně umístil na její "neprogramovací" stranu. Tak nebo tak, je to samozřejmě dost jedno :)

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

RE: RE: RE: RE: RE: Par detailu

Autor: Jirka. Muž

Založeno: 19.04.2006, 08:16

Mys neni, pokud vim, zadny jazyk. Takze ani programovaci ;)

Je hezke, ze kazdy z nas muze psat co si mysli. Ale lepsi by bylo, kdybychom psali to, co vime. Tak si nejake klasifikace programovacich jazyku najdete. Na internetu jej jich dost.

Vas problem asi je, ze se na to divate z pohledu hardcore programatoru. Hardcore programatorum dela samozrejme potize oznacit za programovaci jazyk neco jineho nez univerzalni programovaci jazyk. Protoze pak by automaticky kazdy, kdo matla html, mohl rikat ze je programator. No ale ego je ego a skutecnost je skutecnost, berte to s nadhledem...

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

konecne

Autor: sandro Muž

Založeno: 18.04.2006, 07:39
Odpovědí: 0

Tak na toto sa tesim.
Konecne.

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

Hura, hura!

Autor: Sajdak Muž

Založeno: 18.04.2006, 12:34

Tak sa tesim, ze to tu niekto rozoberie v cestine. Po dlhom case som sa vratil ku knihe, ktoru mam o AppleScripte, ale sam si netrufam na zlozitejsie veci...

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

Velmi dobry napad

Autor: Pes Karter Muž

Založeno: 19.04.2006, 13:24
Odpovědí: 0

Tak na tento serial se take tesim. Kdysi jsem s AS malinko zacal, pak pro nedostatek casu zase skoncil, tak ted budu mit novou motivaci pokracovat :) Diky.

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: