DPE SK Blog

Blog pre slovenských vývojárov od DPE (Developer and Platform Evangelist), Microsoft Slovakia

Novinky

Aktualizácie emailom

Windows 10 – nové prvky používateľského rozhrania (XAML)

V tomto pokračovaní série príspevkov venujúcich sa vývoju Windows 10 aplikácií sa bližšie pozrieme na možnosti tvorby používateľského rozhrania s využitím značkovacieho jazyka XAML (Extensible Application Markup Language).

XAML sa stáva platformou používateľského rozhrania číslo jedna pre Windows aplikácie. XAML bolo možné využiť už aj v minulosti, pri programovaní desktopových WPF aplikácií, no jeho využitie sa odvtedy značne rozšírilo a dostal sa aj do Win RT aplikácií a následne aj do UWP. Je však nutné podotknúť, že množina XAML prvkov pre WPF nie je zhodná s množinou XAML prvkov pre UWP. Jazyk XAML využívajú dokonca niektoré grafické súčasti operačného systému Windows 10, napríklad File Explorer alebo Štart obrazovka. XAML využívajú taktiež aplikácie z Office balíčka a MSN store aplikácie.

Štruktúra XAML je postavená na formáte XML, čo znamená, že vzhľad používateľského rozhrania definujete hierarchiou vhniezdených elementov a každý XAML súbor musí byť validný XML dokument. Čo sa týka tvorby používateľského rozhrania, máme tri možnosti a síce písať ho ručne, využiť editor, ktorý nám ponúka Visual Studio a Blend alebo kombinovať spomenuté prístupy. Osobne odporúčam využiť tretí prístup, kedy je s pomocou editora možné rýchlo vytvoriť rozhranie a následne ho doladiť prostredníctvom kódu (napr. nastavenie šírky, odsadenia elementu a pod.). Okrem Visual Studia sme spomenuli aj nástroj Blend. Tento nástroj je určený primárne na pokročilé editovanie používateľského rozhrania. To znamená, že v ňom viete veľmi jednoducho implementovať animácie, štýly, zmeniť základné šablóny jednotlivých prvkov používateľského rozhrania atď. Návody ako používať Blend môžete nájsť na tejto stránke.

XAML prvky používateľského rozhrania

XAML vám na tvorbu používateľského rozhrania ponúka mnoho rôznych prvkov a v prípade potreby vám taktiež umožňuje vytvoriť vlastné prvky, ktoré môžu byť založené na viacerých existujúcich prvkoch. Množinu dostupných prvkov používateľského rozhrania môžete taktiež rozšíriť s využitím knižníc vytvorených tretími stranami. Príkladom je projekt MyToolkit, ktorý ponúka veľké množstvo rozširujúcich prvkov (dostupný na Githube). Projekt je dostupný aj ako nuget.

Úplný prehľad implicitne dostupných XAML prvkov a ich vlastností môžete nájsť v XAML UI Basics aplikácii dostupnej na Githube.

V rámci tohto príspevku si však predstavíme nové zaujímavé prvky používateľského rozhrania, ktoré vo Win RT chýbali.

RelativePanel

Tento prvok patrí do skupiny tzv. „layout prvkov“. Prvky z tejto skupiny určujú rozloženie elementov, ktoré sú do nich vnorené. Samotný RelativePanel slúži ako kontajner umožňujúci vzájomné kotvenie vhniezdených elementov. RelativePanel ponúka tzv. pripojené vlastnosti – „attached properties“, ktoré umožňujú jednak umiestňovať elementy v rámci RelativePanelu, ale taktiež umiestňovať prvky relatívne jeden na druhý. Čo sa týka umiestnenia elementov v rámci RelativePanelu, sú tieto attached properties iba akýmsi ekvivalentom klasického zarovnania s využitím vlastnosti align, ktorá je používaná pri ostatných layout prvkoch ako napríklad Grid. Prehľad týchto vlastností uvádzame v nasledujúcej tabuľke.

Attached property

Predvolená hodnota

Align ekvivalent

RelativePanel.AlignBottomWithPanel

False

VerticalAlignment=”Bottom”

RelativePanel.AlignTopWithPanel

True

VerticalAlignment=“Top“

RelativePanel.AlignHorizontalCenterWithPanel

False

HorizontalAlignment=“Center“

RelativePanel.AlignVerticalCenterWithPanel

False

VerticalAlignment=“Center“

RelativePanel.AlignLeftWithPanel

True

HorizontalAlignment=“Left“

RelativePanel.AlignRightWithPanel

True

HorizontalAlignment=“Right“

 

Ako sme spomenuli, sila RelativePanelu prichádza s možnosťou umiestňovať elementy relatívne jeden na druhý a teda využiť kotvenie. To umožňujú nasledovné attached properties.

Attached property

Popis

RelativePanel.Above

Element ukotví nad kotviaci element

RelativePanel.Bellow

Element ukotví pod kotviaci element

RelativePanel.RightOf

Element ukotví na pravú stranu kotviaceho elementu

RelativePanel.LeftOf

Element ukotví na ľavú stranu kotviaceho elementu

RelativePanel.AlignLeftWith

Zarovná elementy vzhľadom na ľavý okraj kotviaceho elementu

RelativePanel.AlignRightWith

Zarovná elementy vzhľadom na pravý okraj kotviaceho elementu

RelativePanel.AlignHorizontalCenterWith

Zarovná elementy vzhľadom na horizontálny stred kotviaceho elementu

RelativePanel.AlignVerticalCenterWith

Zarovná elementy vzhľadom na vertikálny stred kotviaceho elementu

RelativePanel.AlignTopWith

Zarovná elementy vzhľadom na horný okraj kotviaceho elementu

RelativePanel.AlignBottomWith

Zarovná elementy vzhľadom na spodný okraj kotviaceho elementu

 

Uvedené vlastnosti je možné medzi sebou kombinovať. Kód nižšie a vytvorené rozhranie je ukážkou využitia viacerých vlastností:

<RelativePanel>

            <Border x:Name="ElementOne" Width="200" Height="200" Background="Red"

                    RelativePanel.AlignHorizontalCenterWithPanel="True"

                    RelativePanel.AlignVerticalCenterWithPanel="True"/>

            <Border Background="Green" Width="50" Height="50"

                    RelativePanel.LeftOf="ElementOne"

                    RelativePanel.AlignVerticalCenterWith="ElementOne"/>

            <Border Background="Blue" Width="50" Height="50"

                    RelativePanel.RightOf="ElementOne"

                    RelativePanel.AlignBottomWith="ElementOne"/>

        </RelativePanel>

 

Obrázok 1: Relatívne rozmiestnenie prvkov v RelativePanel

RelativePanel je vhodné využiť pri tvorbe adaptívneho rozhrania, keď potrebujete napríklad pri znížení dostupného rozlíšenia presunúť element spolu s elementami, ktoré sú naň ukotvené. Tento scenár môžete vidieť ilustrovaný na obrázku nižšie.

 

Obrázok 2: Presunutie elementov v rámci RelativePanelu (Zdroj: Developer's Guide to Windows 10 MVA)

 

Viac detailov ohľadom RelativePanel môžete nájsť v tomto príspevku na stránke visuallylocated.com.

SplitView

SplitView je taktiež prvok z rady „layout prvkov“. Ako už názov naznačuje SplitView umožňuje rozdeliť aplikačné okno na dve časti. Jednu časť pre hlavný obsah stránky a druhú vysúvaciu časť, v ktorej môže byť umiestnené napríklad menu alebo iné elementy súvisiace s kontextom hlavnej stránky. SplitView tak ponúka možnosť, ktorá v rámci Windows a Windows Phone aplikácií doteraz chýbala, a síce vytvoriť tzv. vysúvacie hamburgerové menu. SplitView má štyri zobrazovacie módy, ktoré môžete vidieť ilustrované na obrázku nižšie. Modrou farbou je znázornená hlavná obsahová časť a fialovou vysúvací panel.

 

Obrázok 3: SplitView zobrazovacie módy

Detailný návod na implementáciu hamburgerového menu môžete nájsť na blogu Jerryho Nixona.

CalendarView a DatePicker

CalendarView je v rámci store aplikácií taktiež novým prvkom. Vo Windows Store aplikáciách sa síce zobrazoval ako súčasť prvku DatePicker a slúžil na výber dátumu, no pre Windows Phone tento prvok neexistoval. V UWP je tento prvok úplne samostatným prvkom dostupným ako pre desktop, tak aj pre telefóny a ostatné rodiny Windows 10 zariadení. Použitie prvku CalendarView je veľmi jednoduché a umožňuje navigáciu v rámci kalendára prostredníctvom výberu roku, mesiaca a dňa. Jeho vzhľad je takmer totožný so vzhľadom systémového kalendára, ktorý môžete zobraziť kliknutím na čas na lište úloh.

 

Obrázok 4: CalendarView

Prvok DatePicker ponúka možnosť výberu dátumu, bez zobrazenia celého kalendára. Tento prvok síce nový nie je, no určité zmeny sa dotkli aj tohto prvku. Tí z vás, kto ste vyvíjali univerzálne aplikácie pre Win RT a použili ste tento prvok, viete, že na Windows Phone sa pri výbere dátumu zobrazila samostatná obrazovka, v ktorej bolo potrebné scrollovaním nastaviť správny rok, mesiac a deň, zatiaľ  čo vo Windows aplikácií sa v rámci aktuálnej obrazovky zobrazil kalendár. Práve táto odlišnosť bola odstránená a prišlo k zjednoteniu DatePicker prvku naprieč rodinami zariadení. DatePicker teraz ponúka rovnaký používateľský zážitok, ktorý je mierne prispôsobený forme používateľského vstupu. Nový DatePicker zobrazený na desktope a na telefóne môžete vidieť na obrázkoch nižšie (vľavo zobrazenie na desktope, vpravo zobrazenie na telefóne). Rozdiel, ktorý si môžete všimnúť je, že na desktopovej verzii, na ktorej sa predpokladá ovládanie myšou, pribudli tlačidlá – šípky, umožňujúce scrollovanie a výber správneho dátumu. Tlačidlo sa zobrazí vždy iba pod a nad stĺpcom, v ktorom na nachádza kurzor myši. Scrollovať je možné aj scrollovacím kolieskom myši. Vo verzii pre telefón sa predpokladá scrollovanie prostredníctvom prsta a preto sa tlačidlá nezobrazujú. Z obrázku to možno nie je úplne viditeľné, no keďže ovládanie dotykom/prstom je nepresnejšie, ako ovládanie myšou, sú na telefóne medzi jednotlivými dňami, rokmi, mesiacmi v zozname väčšie rozostupy.

 

Obrázok 5: DatePicker desktop a telefón

InkCanvas

Tento prvok, ako mnoho iných prvkov prichádza do store aplikácii z technológie WPF, ktorá sa využíva na tvorbu desktopových aplikácií. InkCanvas vám poskytuje kresliacu plochu, do ktorej môžete písať a kresliť nielen dotykovým perom, no je optimalizovaná aj na vstup myšou alebo dotykom. Vďaka InkCanvas môžete do vašej aplikácie veľmi jednoducho implementovať napríklad funkcionalitu umožňujúcu vytvorenie podpisu, no v prípade potreby vám taktiež umožní vytvoriť kresliaci editor s rozličnými funkciami. InkCanvas vám umožní nastavenie farby,hrúbky, tvaru pera, gumovanie obsahu, rozpoznávanie písaného textu a mnoho ďalšieho.

Ak využijete InkCanvas vo vašej aplikácií a chcete umožniť vstup myšou alebo dotykom, je potrebné v kóde tieto vstupy povoliť, pretože predvolené nastavenie umožňuje vstup iba dotykovým perom. Toto nastavenie vykonáte nasledovne:

inkCanvas.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Mouse | CoreInputDeviceTypes.Touch;

Zároveň v aktuálnej verzii UWP (10.0.0.0) nie je možné vpisovať/kresliť do InkCanvas v prípade, že InkCanvas prvku nastavíte výšku a šírku. Je to zrejme pôvodne neodhalená chyba aktuálnej verzie UWP a ak chcete nastaviť rozmery, je potrebné využiť obaľujúci element (napr. Border). Viac o InkCanvas môžete nájsť na tomto msdn blogu.

V tomto príspevku sme si predstavili niektoré nové prvky používateľského rozhrania. Ak sa chcete vrhnúť do vývoja a chcete získať informácie aj o iných prvkoch používateľského rozhrania, ešte raz odporúčam XAML ukážkovú aplikáciu obsahujúcu popis všetkých implicitne dostupných XAML prvkov pre UWP - a samozrejme kurz vývoja Windows 10 aplikácií na Microsoft Virtual Academy.

V ďalšom diely si ukážeme, ako vytvoriť adaptívne používateľské rozhranie a povieme si, čo sú to adaptive triggers.

Marek.

 

Využite možnosť získať Xamarin subskripciu do konca augusta zadarmo

Xamarin je nástroj, ktorý umožňuje multiplatformový vývoj aplikácií, prostredníctvom vytvorenia jednotného kódu pre iOS, Android a Windows/Windows Phone platformu, s využitím jazyka C#. Výhodou nástroju Xamarin oproti iným riešeniam umožňujúcim multiplatformový vývoj, je fakt, že výsledné aplikačné balíčky pre jednotlivé platformy obsahujú plne natívny kód. Tento nástroj môžete využiť aj v kombinácií s Visual Studiom, ktoré je pre vás v edícii Community dostupné úplne zadarmo (https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx).

Iba tento August ponúka Xamarin subskripciu Xamarin.iOS a Xamarin.Android vrátane rozšírenia pre Visual Studio na osobné použitie úplne zadarmo.

Táto ponuka platí pre nezávislých Windows Phone vývojárov, ktorí už vydali svoju Windows Phone aplikáciu. Pre zisk tejto subskripcie stačí vyplniť krátky formulár, v ktorom uvediete krátky popis vašej Windows Phone aplikácie, ktorá bola vydaná nie neskôr ako 17. augusta 2015. Viac informácií môžete nájsť na stránke Xamarin blogu.

 

Marek.

Ako nainštalovať .NET Framework 4.6 do Azure Cloud Service

Spolu s vydaním Visual Studia 2015 vyšla aj nová verzia .NET Framework 4.6. Vývojári samoobslužných aplikačným fariem v Azure (Cloud Services Web Role/Worker Role) si hneď položili otázku:“Vytvorím aplikáciu v .NET 4.6, nasadím ju do Cloud Service, ale ako na samoobslužné/automaticky vytvorené servery vo farme dostanem .NET Framework 4.6?“ .NET Framework 4.6 totiž nie je predinštalovaný na žiadnom serverovskom operačnom systéme.

Nasledujúcim návodom naštartujete každý server aplikačnej farmy typu Web Role tak, aby sa na ňho nainštaloval .NET 4.6 ešte pred spustením aplikácie. Predprípravou je nainštalovanie Azure SDK 2.7 do Visual Studia 2015 a stiahnutie .NET 4.6 Web Installer-a na lokálny disk.

1. Vytvorte v Visual Studiu testovací projekt Cloud Services Web Role postavený nad .NET 4.6. cez menu „File/New Project/Cloud – Azure Cloud Service“ a skôr ako potvrdíte OK, zmeňte verziu frameworku na .NET 4.6.

2. Pridajte do riešenia projekt ASP.NET WebRole a potvrďte OK.

3. Z ASP.NET šablón vyberte napr. MVC.

4. Po nasadení aplikácie do Cloud Service by sme radi jednoduchým spôsobom videli, že používa .NET Framework 4.6. Preto upravte napr. HomeController.cs tak, aby metóda „Contact“ zobrazila namiesto popisu aplikácie verziu nainštalovaného .NET Frameworku. Stačí do kódu stránky, do triedy HomeController  vložiť kód z https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx zo sekcie “To find .NET Framework versions by querying the registry in code (.NET Framework 4.5 and later)” a mierne ho upraviť.

        //dekodovanie verzii podla releaseKey
private static string CheckFor45DotVersion(int releaseKey)
{
if (releaseKey >= 393273)
{
return "4.6 RC alebo novší";
}
if ((releaseKey >= 379893))
{
return "4.5.2 alebo novší";
}
if ((releaseKey >= 378675))
{
return "4.5.1 alebo novší";
}
if ((releaseKey >= 378389))
{
return "4.5 alebo novší";
}
return "Nie je nainštalovaný 4.5 alebo novší";
}

5. Upravte kód kontroléra pre Contact:

        public ActionResult Contact()
{
using (Microsoft.Win32.RegistryKey ndpKey = Microsoft.Win32.RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, Microsoft.Win32.RegistryView.Registry32).OpenSubKey("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\"))
{
int releaseKey = Convert.ToInt32(ndpKey.GetValue("Release"));
if (true)
{
ViewBag.Message = "Verzia: " + CheckFor45DotVersion(releaseKey);
}
}
return View();
}
 

6. V Solution Explorer-e v Cloud Service projekte vytvorte pod zložkou Roles novú zložku s názvom "bin" .

7. Cez kontextové menu zložky „bin“ (Add>Existing Item) pridajte uložený súbor .NET 4.6 Web Installer-a.

 

8. Na nainštalovanie najnovšieho frameworku použijeme Startup úlohu, ktorá sa spustí v Azure Cloud Service ešte pred naštartovaním aplikácie. Pridajte preto do súboru ServiceDefinition.csdef do vnútra elementu <WebRole></WebRole> nasledujúci kód:

    <LocalResources>
<LocalStorage name="InstalacnyLog" sizeInMB="5" cleanOnRoleRecycle="false" />
</LocalResources>
<Startup>
<Task commandLine="instaluj.cmd" executionContext="elevated" taskType="simple">
<Environment>
<Variable name="CestakLogu">
<RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='InstalacnyLog']/@path" />
</Variable>
</Environment>
</Task>
</Startup>
 

9. Pripravte si príkazovú dávku „instaluj.cmd“, na ktorú sa odkazuje Startup úloha, s obsahom nižšie. Použite pritom editor, ktorý zachová ANSI kódovanie, napr. Notepad.

set netfxinstallfile="NDP46-KB3045560-Web.exe"
set netfxregkey="0x60051"

set timehour=%time:~0,2%
set timestamp=%date:~-4,4%%date:~-10,2%%date:~-7,2%-%timehour: =0%%time:~3,2%
set startuptasklog=%CestakLogu%startuptasklog-%timestamp%.txt
set netfxinstallerlog = %CestakLogu%NetFXInstallerLog-%timestamp%
echo Log generovany do: %startuptasklog% >> %startuptasklog%
echo Kontrola ci je .NET (%netfx%) nainstalovany >> %startuptasklog%
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release | Find %netfxregkey%

if %ERRORLEVEL%== 0 goto end
echo Instalujem .NET. : %netfxinstallerlog% >> %startuptasklog%
start /wait %~dp0%netfxinstallfile% /q /serialdownload /log %netfxinstallerlog% >> %startuptasklog% 2>>&1

:end
echo instaluj.cmd dokonceny: %date:~-4,4%%date:~-10,2%%date:~-7,2%-%timehour: =0%%time:~3,2% >> %startuptasklog%

 

10. Pridajte súbor “instaluj.cmd” do stromu webrole, na rovnakú úroveň, kde ste vložili inštalátor .NET 4.6. (Add>Existing Item nad zložkou „bin“.)

11. Cez kontextové menu Publish nad Cloud Service projektom nasaďte aplikáciu do Azure. Povoľte pri nasadzovaní Remote Desktop ( checkbox Enable Remote Desktop for all roles“), aby ste si mohli nainštalovanie .NET 4.6 na serveroch farmy preveriť aj priamym pripojenim a preverením logu v priečinku, do ktorého bude presmerovaný InstalacnyLog.

12. Po ukončení procesu nasadenia a naštartovaní aplikácie v cloude, prejdite na jej URL adresu a vyberte menu Contact, pretože do kontroléru tohto menu sme vložili kód na zistenie nainštalovanej verzie .NET-u.

13. .NET 4.6 sa na servery aplikačnej farmy úspešne nainštaloval!

 

Miro

 

P.S. Ak ste členmi BizSpark programu pre začínajúce vývojárske "startupy" (firmy alebo živnostníkov) , alebo máte kúpené Visual Studio s MSDN, môžete si bezplatne aktivovať Azure benefit v týchto programoch (Microsoft Azure pre členov BizSpark , Microsoft  Azure pre MSDN predplatiteľov). Pri registrácii Azure benefitu v MSDN alebo BizSparku nie je požadované overenie platobnou kartou. Ak nie ste členmi týchto programov, môžete si Microsoft Azure bezplatne vyskúšať na dobu 30 dní cez Microsoft Azure Trial.

Windows 10 – začíname s vývojom univerzálnych aplikácií

V predchádzajúcich príspevkoch k vývoju univerzálnych aplikácií pre Windows 10 (Windows 10 – univerzálny vývoj aplikáciíPreneste Android, iOS, Web alebo Desktop aplikácie na Windows 10) sme si po teoretickej stránke predstavili novinky pre vývojárov moderných store aplikácií. V tomto príspevku sa dostaneme už aj k praktickej časti a ukážeme si, ako začať vyvíjať aplikácie postavené na Universal Windows Platform (UWP).

Vývojárske nástroje

Pre vývoj Windows 10 aplikácií je potrebné Visual Studio 2015, v ktorejkoľvek edícií (t.z., že môžete využiť aj edíciu Community, ktorá je dostupná pre vývojárov zdarma). Počas inštalácie Visual Studia je potrebné nainštalovať nástroje na vývoj univerzálnych Windows 10 aplikácii (Universal Windows App Develoment Tools). Túto súčasť nájdete v zozname ponúkanej funkcionality (viď. obr. nižšie). V prípade, že ste si už Visual Studio nainštalovali, no nenainštalovali ste si nástroje na vývoj univerzálnych aplikácií, máte dve možnosti ako nástroje doinštalovať. Prvá z nich je modifikácia súčastí Visual Studia. Túto modifikáciu spustíte cez Ovládací panel, v sekcii Programy -> Programy a súčasti kliknite pravým tlačidlom myši na Visual Studio [vaša edícia] 2015 a zvoľte možnosť Zmeniť. Následne sa otvorí inštalačný sprievodca Visual Studia. Zvoľte možnosť Modify (Zmeniť) a v zozname funkcionalít vyberte spomenutú súčasť.  Druhou možnosťou je stiahnuť súbor VSToolsForWindows zo stránky https://dev.windows.com/en-us/downloads. Sťahovanie inicializujete kliknutím na odkaz špecifický pre vašu verziu Visual Studia v časti Windows developer tooling. Stiahnutý súbor taktiež spustí sprievodcu inštaláciou Visual Studia. Následný postup je rovnaký ako v predchádzajúcom prístupe.

Obrázok 1: Visual Studio inštalácia - zoznam ponúkanej funkcionality

Čo sa týka operačného systému, odporúča sa vyvíjať na počítači s Windows 10, kvôli podpore priameho ladenia a spúšťania vytváranej aplikácie. Vyvíjať UWP aplikácie je možné aj na systémoch Windows 8, prípadne 7. Pre tieto systémy je však obmedzená možnosť ladenia aplikácie, nakoľko na Windows 8, môžete spúšťať aplikáciu iba v rámci emulátora, resp. simulátora, pričom na Windows 7 lokálne ladenie nie je možné vôbec, vzhľadom na chýbajúcu podporu Hyper-V virtualizácie. 

Vytvorenie prvého projektu univerzálnej aplikácie

Aplikačný projekt univerzálnej Windows 10 aplikácie vytvoríme nasledovne:

  1. Spustíme Visual Studio s nainštalovanými nástrojmi na vývoj univerzálnych aplikácií
  2. V záložke Súbor (File) vyberieme voľbu Nový (New) a následne voľbu Projekt (Project).
  3. V zozname nainštalovaných šablón vyberieme programovací jazyk, následne rozbalíme záložky Windows a Universal. Ako si môžete všimnúť aj na obr. 2, máme k dispozícií viacero šablón, no čo sa týka samotného vývoja aplikácie, je pre nás relevantná iba prvá šablóna Prázdna aplikácie (Blank App). Ostanté šablóny slúžia na vytvorenie znovu-použiteľných častí kódu resp. aplikačných testov. (Pozn.: Tí z vás, ktorí vyvíjali Win RT aplikácie pre Windows/Windows Phone 8.1, ste si zrejme všimli absenciu šablóny typu Hub Application, ktorá implicitne obsahovala viacero stránok, predgenerované dáta a rôzne helpre napr. na navigáciu v rámci aplikácie a pod. Podobná šablóna sa zatiaľ do nástrojov pre vývoj univerzálnych aplikácií nedostala, no zastúpi ju šablóna vytvorená komunitou s názvom Template 10, ktorá je dostupná na GitHub-e https://github.com/Windows-XAML/Template10, a ktorá bude onedlho vydaná aj ako Nuget balíček. K tejto šablóne si povieme pár slov aj v rámci tohto príspevku.)

     

    Obrázok 2: Windows Universal šablóny

  4. Po zvolení šablóny Blank App, zvolíme v poli Name názov aplikácie a o riadok nižšie zvolíme umiestnenie a klikneme na tlačidlo OK.
  5. Vytvorí sa nám projekt prázdnej aplikácie, ktorú už teraz môžeme spustiť, no aplikácia nám okrem implicitne poskytnutej úvodnej obrazovky (splash screen) nezobrazí nič viac. Aby aplikácia robila aj niečo viac, musíte začať vytvárať aplikačný kód. V ďalších príspevkoch si ukážeme ako na to, no ak sa vám nechce čakať, opäť odporúčam tento kurz A Developer's Guide to Windows 10 na Microsoft Virtual Academy.

Template 10

Ako som už spomenul, Template10 je snahou komunity vytvoriť aplikačnú šablónu, ktorá obsahuje  implementované triedy a funkcionalitu, ktorú by ste za iných okolností museli častokrát programovať sami, a tým sa snaží umožniť vám v čo možno najväčšej miere zamerať sa na implementáciu vašej špecifickej aplikačnej logiky. Template10 si môžete stiahnuť ako archív alebo naklonovať priamo z GitHub-u - https://github.com/Windows-XAML/Template10. Po otvorení šablóny Template10 vo Visual Studiu, zistíte, že obsahuje 5 rôznych projektov, a to nasledovné:

  • Template10.Services – nájdete tu implementáciu helperov pre často používané služby ako napríklad mapy, toast notifikácie, primárne a sekundárne živé dlaždice, zdieľanie obsahu a mnoho ďalších.
  • V priečinku Templates nájdete samotné šablóny referencujúce knižnicu Windows10Template. Tento priečinok obsahuje tri šablóny, z ktorých všetky využívajú funkcionalitu poskytnutú knižnicou Template10Library v rozličnom rozsahu. Všetky zo šablón priamo podporujú vývoj s využitím vzoru Model View View-Model, no samozrejme jeho použitie nie je nevyhnutná podmienka pri využití Template10 (ďalšie odporúčanie, ak sa chcete o vzore MVVM dozvedieť viac-pozrite blog Jerryho Nixona - http://blog.jerrynixon.com/2012/08/most-people-are-doing-mvvm-all-wrong.html). Prvým projektom v priečinku je projekt Blank, ktorý neobsahuje žiadnu funkcionalitu a môžete ho využiť, ak nepotrebujete využiť funkcionalitu implementovanú v dvoch ďalších projektoch a postačuje vám projekt referencujúci Template10 knižnicu. Ďalšie dva projekty už obsahujú implementáciu jednoduchej funkcionality. Projekt Minimal obsahuje dve stránky, medzi ktorými je vytvorená navigácia s odovzdávaním parametra. Projekt Sample obsahuje funkcionalitu poznámkového resp. pripomienkového bloku, pričom umožňuje vytvárať a kategorizovať pripomienky.
  • Tretím projektom je spomenutá knižnica Template10Library, ktorá obsahuje implementáciu dôležitých tried, ako napríklad BackButton.cs obsahujúcu logiku zobrazovania spätného navigačného tlačidla, na základe zariadenie, na ktorom aplikácia beží. Ďalej triedy NavigationService.cs, ktorá umožňuje jednoducho implementovať logiku navigácie v rámci vašej aplikácie, vrátane ukladania stavu stránky, KeyboardService.cs implementujúcu navigáciu v rámci aplikácie s využitím klávesnice, predvytvorené konvertory, ktoré môžete využiť pri zobrazovaní hodnôt premenných v rámci XAML atď.

 

Obrázok 3: Prieskumník riešenia - Template10

Moje odporúčanie do vydania ďalšieho príspevku je poexperimentovať a preskúmať triedy v rámci Template10 šablóny. Ak s vývojom Windows aplikácií nemáte veľa skúseností, mnohé z nich sa vám môžu zdať momentálne nepotrebné, no časom zistíte, že implementujú funkcionalitu, ktorú by ste museli opakovane implementovať sami. Eventuálne by ste sa po niekoľkých razoch dopracovali k vytvoreniu vlastnej šablóny. Zároveň by som rád dodal, že projekt Template10 je stále vo vývoji, preto po nejakom čase nemusia presne platiť informácie popísané v tomto príspevku a pred tým ako sa pustíte do programovania každej aplikácie, odporúčam preskúmať aktuálny stav projektu a v prípade zmien ho stiahnuť nanovo. Rovnako, ako som už spomenul, Template10 bude dostupný aj vo forme Nuget-u, čo uľahčí jeho využitie vo vašej aplikácii. 

Marek.

Eset File Security pre ochranu virtuálnych serverov v Azure

V polovici júla 2015 Eset a Azure tím oznámili podporu ESET File Security v Azure vo forme rozšírenia pre virtuálne servery (Azure VM).

 

Pre cloudových používateľov to, zjednodušene povedané, znamená 3 veci:
- že si môžu pohodlne pridať Eset File Security Azure VM Extension do virtuálneho servera. Inštalácia prebehne veľmi rýchlo a na pozadí.
  Tu nájdete návod, ako doinštalovať ESET File Security do Azure VM cez Azure portál. 
- že na aktiváciu Eset File Security VM Extension môžu použiť existujúcu platnú licenciu. Alebo si samozrejme kúpiť novú. Aktiváciu môžu potvrdiť z rozhrania Eset File Security alebo použitím Eset Remote Administrator.
  Tu nájdete postup aktivácie Eset File Security. 
- že ich súbory v virtuáloch bežiacich na Azure bude chrániť renomovaný antivírový softvér.

Eset File Security Azure VM Extension podporuje Azure VM s Windows Server 2008 a 2008 R2, Windows Server 2012 a 2012 R2. Okrem inštalácie cez Azure portál, ho môžete pridať do virtuálnych serverov aj cez PowerShell, XPlat-Cli a pomocou šablón pre Azure Resource Manager. Zdroje nájdete priamo na githube a v blogposte o podpore Eset File Security na Azure.

 

Miro

Preneste Android, iOS, Web alebo Desktop aplikácie na Windows 10

Nová aplikačná platforma Universal Windows Platform (UWP) je dostupná naprieč všetkými rodinami Windows 10 zariadení. Umožňuje vám vytvárať univerzálne aplikácie pre PC, tablety, telefóny, holografické zariadenie HoloLens, Surface Hub a čoskoro aj Xbox a IoT zariadenia, pričom vám stačí vytváriť iba jeden aplikačný balíček (úvod k UWP môžete nájsť v predošlom príspevku). Okrem možnosti plne natívneho vývoja Windows 10 aplikácií, ktorému sa budeme v ďalších blogoch venovať, ponúkne UWP možnosť využiť tzv. mosty (bridges), ktoré vám umožnia vytvoriť Windows Obchod aplikáciu z vášho existujúceho aplikačného kódu. Do aplikácie môžete následne taktiež pridať funkcionalitu ako živé dlaždice, notifikácie, “in-app” nákup a mnoho ďalšieho. Mosty vám umožnia preniesť vaše Android a iOS aplikácie na Windows 10, no taktiež vytvoriť store aplikácie z vašej webovej alebo klasickej desktopovej (Win32) aplikácie. V tomto príspevku si vysvetlíme, ako fungujú mosty pre jednotlivé platformy. Pred tým však ešte pár slov k tomu, čo bolo pre Microsoft motiváciou k takémuto kroku. Prostredníctvom mostov chce Microsoft vývojárom umožniť jednoduché publikovanie ich existujúcich aplikácii do Windows aplikačného obchodu a tým odhaliť potenciál platformy, pričom časom, po otestovaní platformy, očakávame, že sa vývojári a vydavatelia aplikácií rozhodnú poskytnúť svojim používateľom plne natívny zážitok, ktorý je a zrejme vždy bude nenahraditeľný.

Android Runtime

Pre Android developerov bude dostupný nástroj resp. most, ktorý sa nazýva “Project Astoria“ a umožní vytváranie Windows 10 aplikácií pre telefóny bez potreby výmeny vášho Android IDE a navyše vám poskytne Windows phone emulátor. “Project Astoria“ automaticky preloží Android obsah na obsah pre Windows. Príkladom môže byť funkcionalita zdieľania obsahu, ktorú dokáže “Project Astoria“ namapovať na natívnu formu zdieľania pre Windows. Okrem prenosu samotnej funkcionality aplikácie  “Project Astoria“ podporuje taktiež portovanie najčastejšie používaných Google Play služieb ako napríklad reklamy v rámci aplikácii, analytiky „In-app“ nákupy alebo notifikácie.  Vďaka interoperabilite a priamemu namapovaniu API, vám “Project Astoria“  umožní preniesť medzi programátormi najpoužívanejšie a najobľúbenejšie Android API využité vo vašej aplikácií na Windows. Na overenie toho, koľko kódu budete môcť znovu použiť, budete môcť využiť analyzačný nástroj dostupný cez developerské centrum, ktorý vám taktiež poskytne pokyny v prípade potreby zmeny časti kódu. Detailnejšie informácie k nástroju “Project Astoria“  budú sprístupnené počas leta 2015 na stránke http://uwp.dev.windows.com/en-us/uwp-bridges/project-astoria/ . Momentálne je dostupná preview verzia na pozvánku. Ak máte záujem vyskúšat “Project Astoria“  a poskytnúť vývojovému tímu skorú spätnú väzbu, môžete sa prihlásiť prostredníctvom uvedenej stránky a v prípade voľnej kapacity obdržíte pozvánku.

iOS

“Project Islandwood” vám umožní vytvárať univerzálne Windows aplikácie vo Visual Studiu 2015 s využitím vášho existujúceho Objective-C kódu. Vďaka “Project Islandwood” budete môcť importovať váš Xcode projekt do Visual Studia, odkiaľ budete môcť debugovať kód, prispôsobiť používateľský zážitok pre každú rodinu Windows zariadení a rozšíriť váš iOS kód o funkcionalitu, ktorú vám UWP ponúka. Rovnako ako pre Android, bude viac informácii poskytnutých toto leto na stránke https://dev.windows.com/en-us/uwp-bridges/project-islandwood, kde je taktiež možné prihlásiť sa a v prípade voľnej kapacity obdržíte pozvánku na otestovanie preview verzie.

Webové aplikácie

“Project Westminster” je most, ktorý vám umožní jednoducho publikovať vašu responzívnu webovú aplikáciu vo Windows Obchode. “Project Westminster” vám umožní vytvoriť aplikačný balíček, v ktorom využijete kód vašej webovej stránky (či už lokálne zabalený, alebo vyhostovaný na servery), pričom aplikácia bude fungovať naprieč všetkými Windows 10 zariadeniami. Vytvorenie UWP web aplikácie vám umožní jednoducho škálovať váš responzívny web na rôzne zariadenia, interagovať s natívnymi Windows API z JavaScriptu bežiaceho na vašej stránke (notifikácie, live tile atď.), integráciu s Cortana hlasovými pokynmi, debugovať vašu aplikáciu s Microsoft Edge F12 vývojárskymi nástrojmi, jednoduchý update aplikácie bez nutnosti znovu publikovania v aplikačnom obchode, získavať analytiky a zarábať na aplikácií vďaka aplikačnému obchodu. “Project Westminster” si môžete vyskúšať už dnes a preto ak máte responzívnu webovú aplikáciu, neváhajte a vytvorte z nej svoju Windows 10 aplikáciu. Bližšie informácie nájdete na tejto stránke: https://dev.windows.com/en-us/uwp-bridges/project-westminster 

Klasické Windows aplikácie

”Project Centennial” vám umožní zabaliť a publikovať vaše existujúce .NET a Win32 Windows aplikácie vo Windows Obchode, čím vám poskytne nový distribučný kanál a nové monetizačné možnosti pre vašu aplikácie na Windows PC. Naviac vám ”Project Centennial” poskytne možnosť využiť UWP API z vašej desktopovej aplikácie, čím môžete využiť napríklad notifikácie, živé dlaždice a pod. Viac informácií bude poskytnutých toto leto a taktiež sa môžete prihlásiť na testovanie prostredníctvom tejto stránky: https://projectipreviewsignup.windows.com/ . V prípade voľnej kapacity obdržíte pozvánku na otestovanie preview verzie. 

 

Marek.

Windows 10 – univerzálny vývoj aplikácií (UWP)

Windows 10 – univerzálny vývoj aplikácií

 

Windows 10 prináša mnohé novinky nielen pre používateľov, ale aj pre vývojárov. V tomto príspevku sa dozviete niečo o základných princípoch tvorby univerzálnych Windows 10 aplikácií, ktoré je možné spustiť na širokej škále zariadení, od IoT zariadení (napr. Raspberry PI 2), cez smartfóny, tablety, počítače, až po zariadenia ako XBOX One, Surface Hub alebo holografické zariadenie Hololens. Následne si v sérii ďalších blogov detailnejšie priblížime možnosti implementácie rôznej často používanej aplikačnej funkcionality.

Univerzálny vývoj pre platformu Windows bol do určitej miery dostupný už pre verziu 8.1 a zahŕňal Windows a Windows Phone zariadenia. Tento univerzálny vývoj bol umožnený vďaka množine prekrývajúcich sa „APIčiek“ dostupných ako na Windows 8.1, tak aj na Windows Phone 8.1. Táto množina sa nazýva Win RT. Vytvorenie univerzálnej aplikácie spočívalo z vytvorenia riešenia zloženého z troch projektov. Jeden projekt obsahoval kód špecifický pre Windows 8.1 zariadenia, druhý projekt kód špecifický pre Windows Phone 8.1 a tretí projekt obsahoval zdieľaný kód, t.z. kód, ktorý patril do oboch predošlých projektov. V ideálnom prípade tento zdieľaný projekt obsahoval celú aplikačnú logiku a zvyšné dva projekty obsahovali iba súbory s používateľským rozhraním. V konečnom dôsledku však bolo stále potrebné vytvárať dva rôzne aplikačné balíčky a distribuovať ich do dvoch aplikačných obchodov.  (pre viac informácií si môžete prečítať môj starší blog k vývoju univerzálnych Windows-Windows Phone 8.1 aplikácii).

Aj vďaka tomu, že Windows 10 je operačným systémom pre naozaj širokú škálu zariadení, boli možnosti vývoja univerzálnych aplikácií posunuté oveľa ďalej. Univerzálny vývoj na Windows 10 je umožnení novým unifikovaným aplikačným modelom a nástupcom Win RT a síce Universal Windows Platform (UWP), ktorý sprístupňuje najrôznejšie API naprieč rodinami Windows 10 zariadení.

 

Obr. 1:  Stavebné prvky UWP

 

UWP je samostatnou časťou systému Windows a bude pravidelne updatovaná (oprava chýb, pridávanie API..). Vývojári budú vyvíjať aplikácie nad špecifickou verziou UWP. Na obrázku nižšie môžete vidieť časť aplikačného manifestu, v ktorom je definovaná cieľová verzia UWP a najvyššia verzia UWP, na ktorej bola aplikácia testovaná. (Pozn.: uvedené označenia verzií sú iba ilustračné)

 

Obr. 2: Cieľové verzie UWP

Pri programovaní Windows 10 aplikácií budete vytvárať jediný aplikačný balíček, ktorý následne publikujete cez jedno developerské centrum do jedného aplikačného obchodu prístupného pre Windows 10 zariadenia. To znamená, že budete môcť veľmi jednoducho distribuovať vašu aplikáciu pre akékoľvek Windows 10 zariadenia. V rámci tohto procesu budete mať samozrejme možnosť špecifikovať, pre ktoré rodiny zariadení je vaša aplikácia určená.

Základnou filozofiou vývoja Windows 10 aplikácií je vytváranie prirodzeného a zjednoteného používateľského zážitku naprieč zariadeniami, pričom sa však kladie dôraz aj na jeho „doprispôsobenie” na mieru danému typu zariadenia (podľa dostupného rozlíšenia obrazovky a iných hardvérových špecifík). Práve to umožňujú dva hlavné princípy a síce adaptívne používateľské rozhranie a adaptívny kód. Tieto princípy si detailnejšie priblížime nižšie.

Adaptívne používateľské rozhranie predstavuje rozhranie, ktoré sa prispôsobí veľkosti rozlíšenia obrazovky. Jeho fungovanie si môžete predstaviť ako fungovanie responzívnej webovej stránky. Takáto stránka sa dokáže prispôsobiť rozlíšeniu napr. využitím tzv. hamburgerového menu, zmenšením a premiestnením grafických prvkov v prípade zníženia dostupného rozlíšenia atď. Podobne funguje aj adaptívne rozhranie v univerzálnych Windows 10 aplikáciách. Využívajú sa pritom princípy ako adaptívnosť (zmena dizajnu, premiestnenie obsahu) a responzívnosť (zmena veľkosti, „reflow“ obsahu). UWP taktiež podporuje možnosť vytvorenia samostatného používateľského rozhrania pre špecifický typ zariadení, tzv. dizajn šitý na mieru (tailored design). Na obrázku nižšie môžete vidieť, ako sa dokáže rozhranie aplikačného obchodu na Windows 10 prispôsobiť obrazovke počítača a smartfónu.

 

Obr. 3: Adaptívne rozhranie Store aplikácie

Ďalším spomenutým princípom, ktorý umožňuje prispôsobiť aplikáciu určitému typu zariadenia a využiť tak jeho plný potenciál, je adaptívny kód. Vďaka adaptívnemu kódu vieme v aplikácií adresovať špecifiká napríklad smartfónov (kamera s bleskom, HW spätné tlačidlo), pri IoT zariadeniach vieme pristupovať k pripojeným senzorom a pod. Pre každú edíciu Windows 10, t.z. verziu pre špecifickú rodinu zariadení, existujú takzvané rozširujúce SDK (extension SDKs), ktoré sprístupňujú funkcionalitu daného typu zariadení a ktoré môžeme do projektu pridať ako referenciu. Keďže sa však vytvára jeden aplikačný balíček, resp. jedna binárka pre všetky zariadenia, bolo potrebné  zabezpečiť, aby kompilátor nehlásil chyby pri použití tried a metód špecifických napr. pre Windows 10 mobile, v prípade kompilovania kódu pre iný typ zariadenia. Každá edícia Windows 10 preto obsahuje minimálne prázdne definície tried a metód jednotlivých extension SDKs. Tým sa predíde chybám o neznámych definíciách, ktoré by kompilátor v opačnom prípade hlásil. Avšak v rámci kódu je potrebné zabezpečiť, aby sa špecifická funkcionalita vyvolala iba na správnom type zariadení. To je možné vykonať s využitím reflexie, ktorá nám umožní zistiť, či je daná funkcionalita dostupná na zariadení, na ktorom aplikácia beží. Nižšie môžete vidieť implementáciu spätnej navigácie, kde rozlišujeme, či zariadenie disponuje HW spätným tlačidlom.

 

Obr. 4: Zistenie prítomnosti typu počas behu aplikácie

 

To bolo krátke predstavenie vývoja pre Windows 10 a UWP. V ďalšom príspevku si povieme o takzvaných mostoch (bridges), ktoré UWP ponúka, a ktoré umožňujú tvorbu Windows store aplikácií z webových stránok, existujúcich WIN32/desktopových alebo iOS a Android aplikácii. V ďalších príspevkoch sa budeme následne detailnejšie venovať vybraným súčastiam UWP.

 

Marek

 

Ako vytvoriť Docker server pre aplikácie v kontajneroch v Azure (krok za krokom)

 V predošlom blogposte "krok za krokom" som popísal postup, ako v Azure vytvoriť Linux server s MySQL . V tomto návode síce naďalej zostanem vo svete Linuxu, ale posuniem sa do populárneho trendu kontajnerizácie pomocou technológie Docker . Kontajnery sú vyhradené prostredia pre beh aplikácií/služieb, ktoré sú v rámci jedného hostiteľa (servera) izolované, ale zdieľajú OS kernel a tam, kde je to vhodné, aj programy a knižnice (bins,libs). Pri vhodných aplikáciach je výsledkom použitia kontajnerov rýchlejšie nasadenie, nižšie nároky, ľahšia migrácia, rýchlejší štart.

Docker dnes podporuje hostiteľské servery na Linuxe, ale spolu s Microsoftom pracuje Docker open source komunita aj na podpore pripravovaného Nano servera založeného na Windows. V nasledujúcom návode nájdete kroky ako v Azure oživiť Docker hostiteľa na Linuxe, ako v ňom vytvoriť kontajner s aplikáciou a ako takýto kontajner vystaviť pre použitie cez internet.

1. Prihláste sa na "preview" portál správy Azure služieb https://portal.azure.com  Microsoft Account-om (LiveID), ktorý ste použili pri aktivácii Azure benefitu v MSDN alebo BizSpark-u, alebo ho používate v Azure Trial, prípadne v zakúpenej Azure subskripcii.

2. Na hlavnej obrazovke správy vašej Azure subskripcie vyberte vľavo hore menu „New“.

3. Z zobrazeného submenu vyberte Marketplace a do položky na vyhľadávanie v ponuke marketplace napíšte "Docker on Ubuntu Server".

4. Kliknite na vzorový image od Canonical + MS Open Tech.

5. Na informačnej a licenčnej stránke potvrďte Create.

6. Zadajte názov servera  (hostname), prihlasovacie meno administrátora servera (username), pre jednoduchosť nastavenia prihlasovania môžete nechať typ autentifikácie Password a do položky pre heslo (Password) zadajte heslo administrátora servera. Pre odskúšanie Docker hostiteľa môžete ponechať Pricing Tier (čiže veľkosť servera) na A1 (t.j. 1 vCPU, 1,75GB RAM). Zmeňte predvolené dátové centrum (položka Location) tak, aby bolo najbližie k väčšine používateľov aplikácií, ktoré v Docker kontajneroch rozbeháte. Nakoniec potvrďte Create.

 

Poznámka: Pre kontajnery, ktoré CPU zaťažia viac, zvoľte sizing v položke Pricing Tier zo sady D.


7. Spustí sa proces vytvorenia virtuálneho servera na Linuxe s predinštalovaným rozšírením Docker. Počkajte niekoľko minút.

Poznámka: Ak ste nechali pri tvorbe servera "zaškrtnutú" položku "Pin to Startboard", vytvorí sa na hlavnej stránke Azure portálu dlaždica smerujúca na nový server. 

8. Po ukončení provisioningu Docker servera sa zobrazí detailný panel, v ktorom môžete vytvorený server podľa potreby ďalej konfigurovať.

9. Potvrďte v hornom menu Settings, potom Endpoints a opíšte si verejný port pre SSH.

10. Pre správu Docker-a a jeho kontajnerov sa vzdialene pripojte na vytvorený server. Z Windows klienta som použil PUTTY http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html , pričom do položky "Host name (or IP address)" som zadal Cloud Service DNS Name, ktoré sa automaticky pridelilo serveru tak, že sa k názvu servera zadaného v bode 6 pridala doména "cloudapp.net" (,v mojom príklade je Cloud Service DNS Name mojdocker-ubuntu.cloudapp.net) a do položky Port som zadal verejný port pre SSH opísaný v bode 9.

11. Prihláste sa pod administrátorským prihlasovacím účtom s heslom, ktoré ste zadali pri vytváraní servera v bode 6.

12. Dotiahnite aktualizácie vzorového image príkazom:

   sudo apt-get update

13. Preverte, že vzorový image neobsahuje žiadne aplikačné balíčky pre Docker kontajnery príkazom:

   sudo docker images

14. Ako príklad nasadenia aplikácie do Docker kontajnera použijem populárny webserver nginx. Nginx balíček pre Docker je (ako množstvo ďalšieho softvéru) katalogizovaný v Docker Hub-e. Spustite nasledujúci príkaz, ktorým stiahnete nginx cez Docker hub, nainštalujete ho do nového kontajnera s názvom machinenginx a pridelíte mu v hostiteľskom prostredí vášho Docker servera náhodný port (prepínač -P):

    docker run --name machinenginx -P -d nginx

   Poznámka: Prepínač -d zabezpečí, že sa kontajner pre nginx nielen naštartuje, ale bude naďalej bežať na pozadí.

15. Bežiacim kontajnerom v rámci hostiteľského Docker servera sa prideľujú porty na komunikáciu s okolitým svetom. Potvrďte nasledujúci príkaz, ktorý vypíše, aké porty sú pridelené bežiacim kontajerom, a teda aký port bol pridelený kontajneru webového servera nginx v rámci Docker hostiteľa:
   
    docker ps

   Poznámka: Výstup príkazu ukazuje, že nginx čaká na porte 80 a kontajner čaká na porte 32769, a teda požiadavky ktoré prídu kontajneru machinenginx na port 32769 sú presmerované na port 80 pre proces nginx.

16. Ak by sme do Docker hostiteľa nainštalovali browser, v ktorom by sme chceli otvoriť web cez http na porte 32769, zobrazila by sa úvodná stránka webservera nginx. Našim cieľom je ale ukázať kontajner s nginx-om svetu, nielen procesom na Docker hostiteľovi.
Keďže Azure stavia na bezpečnosti, musíte explicitne určiť, že chcete, aby sa port 32769 zviditeľnil do internetu. Musíte teda pre Docker hostiteľa otvoriť tzv. endpoint, v ktorom nastavíte pre vnútorný port 32769 jeho verejný párový port. Keďže chcete vystaviť aplikáciu webservera, dáva logiku nastaviť verejný port s hodnotou 80. Prejdite na Azure portále opäť na detail servera mojdocker-ubuntu a cez horné menu Settings otvorte stránku Endpoints.

17. Potvrďte Add v hornom menu.

18. Zadajte názov endpointu, protokol ponechajte TCP, verejný port (Public port) nastavte na klasický http port 80, vnútorný port (Private port) nastavte na port kontajnera, čiže v našom príklade na 32769. Nakoniec potrvrďte tlačidlo OK.

19. Po chvíli sa endpoint vytvorí a tak skúste skontrolovať výsledok vytvorenia Docker hostiteľa s jedným kontajnerom obsahujúcim webserver nginx. Stačí otvoriť browser a zadať do neho URL mojdocker-ubuntu.cloudapp.net.

20. Hotovo!

 

Miro

P.S. Ak ste členmi BizSpark programu pre začínajúce vývojárske "startupy" (firmy alebo živnostníkov) , alebo máte kúpené Visual Studio s MSDN, môžete si bezplatne aktivovať Azure benefit v týchto programoch (Microsoft Azure pre členov BizSpark , Microsoft  Azure pre MSDN predplatiteľov). Pri registrácii Azure benefitu v MSDN alebo BizSparku nie je požadované overenie platobnou kartou. Ak nie ste členmi týchto programov, môžete si Microsoft Azure bezplatne vyskúšať na dobu 30 dní cez Microsoft Azure Trial.

 

Nová e-kniha zdarma : Webové aplikácie na Azure pre vývojárov

Komu je e-kniha určená?
Webovým vývojárom, pre ktorých je hostovanie a tvorba webových aplikácií pre Azure niečím novým.
Ak už vyvíjate pre Azure Web Apps, nájdete v knihe dosť informácií o nových rozšíreniach a nástrojoch pre hostovanie webov v Azure.

Obsah e-knihy (písanej v angličtine):
- Azure Web Apps - úvod do Azure Resource Groups a App Service Plans s doporučeniami na ukladanie nastavení aplikácií, "connection strings", naviazaním na nasadenia cez Visual Studio Online, pohľad na Role Based Access Control (RBAC)
- Azure WebJobs - tvorba a nasadenie procesných úloh, použitie WebJobs SDK a WebJobs Dashboard
- Škálovanie Azure Web Apps - konfigurovanie autoscale pre dynamické škálovanie podľa metrík a časového plánu, použitie služby Azure Traffic Manager pre globálne škálovanie
- Monitorovanie a diagnostika - zabudované "logovanie" do Azure platformy, konfigurácia diagnostiky, vzdialené ladenie, monitorovanie do úrovne konkrétneho zdroja, použitie Application Insights na komplexný pohľad na monitoring a diagnostiku

E-knihu nájdete na adrese http://blogs.msdn.com/b/microsoft_press/archive/2015/06/09/free-ebook-microsoft-azure-essentials-azure-web-apps-for-developers.aspx

Miro

 

P.S. Ak ste členmi BizSpark programu pre začínajúce vývojárske "startupy" (firmy alebo živnostníkov) , alebo máte kúpené Visual Studio s MSDN, môžete si bezplatne aktivovať Azure benefit v týchto programoch (Microsoft Azure pre členov BizSpark , Microsoft  Azure pre MSDN predplatiteľov). Pri registrácii Azure benefitu v MSDN alebo BizSparku nie je požadované overenie platobnou kartou. Ak nie ste členmi týchto programov, môžete si Microsoft Azure bezplatne vyskúšať na dobu 30 dní cez Microsoft Azure Trial.

 

Ako oživiť mySQL databázu na Linuxe v Azure (krok za krokom)

V jednom z predošlých blogpostov som sa venoval vytvoreniu Windows aplikačného servera v Azure, v tomto článku poteším Linuxových kolegov podrobným návodom na oživenie a sprístupnenie mySQL servera na Ubuntu v datacentre Azure. Dal som si za úlohu popísať hlavne Azure vrstvu, pretože s detailnou konfiguráciou Linuxu a mySQL, ktorá je identická (v Azure alebo mimo neho), si ich priaznivci hravo poradia a nájdu k nim na internete množstvo zdrojov.

Čo bude výsledkom tohto postupu?
- vytvorenie virtuálneho servera s Ubuntu Server 14.04 LTS v Azure
- nainštalovanie mySQL
- sprístupnenie napojenia na mySQL pre externé aplikácie mimo lokálnej Azure siete


1. Prihláste sa na portál správy Azure služieb https://manage.windowsazure.com  Microsoft Account-om (LiveID), ktorý ste použili pri aktivácii Azure benefitu v MSDN alebo BizSpark-u, alebo ho používate v Azure Trial, prípadne v zakúpenej Azure subskripcii.

2. Na hlavnej obrazovke správy vašej Azure subskripcie vyberte vľavo dolu menu „New“.

  

3. Z ponukového stromu vyberte vytvorenie Virtual Machine z galérie predpripravených konfigurácii.

4. Cieľom je vytvoriť virtuálny server s Ubuntu, preto potvrďte v ľavom menu galérie "UBUNTU" a vzápätí vyberte „imidž“ z galérie (napr. Long Term Support Ubuntu 14.04.) a potvrďte šípku na ďaľšiu špecifikáciu nastavení servera.

5. Do položky „Virtual Machine Name“ zapíšte názov servera (t.j. jeho hostname), a ak vytvárate samostatný server, ktorý nebude pracovať v „balancovanej“ farme, zvoľte „tier“ úroveň „Basic“. V ponuke „Size“ vyberte veľkosť virtuálu (,od ktorého sa odvíja aj cenová sadzba ). Pri databázovom servri s menšou databázou by mohol stačiť A2  - 2 jadrá, 3,5GB RAM. Do položky „New user name“ zapíšte meno administrátorského účtu (, ktoré sa pri štartovaní servera pridá do SUDO zoznamu). Pre prihlasovanie do servera budete môcť použiť SSH kľúč (certifikát X.509) alebo heslo. Pre jednoduchosť nepoužijem certifikát (čiže nevyberiem "checkbox" "Upload Compatible SSH Key"), ale "zaškrtnem" položku "Provide a password" a do zobrazených polí zapíšem heslo. Pre pokračovanie konfigurácie pokračujte opäť šípkou vpravo dolu.

 

Poznámka: Najpoužívanejšie sizingy sú v sadách A (1,6 GHz vCore a štandardné disky do 500 IOPS) , D (2,1 GHz vCore, "swap/temporary" disk SSD, ostatné disky štandardné do 500 IOPS) a DS (čo je vlastne sada D ale so všetkými diskami SSD v tzv. Premium Storage). Veľkosť „size“ budete môcť zmeniť po naštartovaní servera cez portál na správu. Ak pri vytvorení server zvolíte sadu A, budete sa s veľkou pravdepodobnosťou môcť pohybovať iba v veľkostiach sady A. Ak pri vytvorení zvolíte sadu D, budete si môcť vyberať pri zmenách veľkosti z sady D aj A. Ak pri vytvorení zvolíte sadu DS, budete mať ponuku sizingu vždy iba v rámci DS série. Takéto rozčlenenie je dané štruktúrou dátového centra.

6. V položke „Region/Affinity group/Virtual Network“ vyberte konkrétne dátové centrum Azure, pre EÚ „West Europe“ alebo „North Europe“ a pokračujte šípkou vpravo dolu.

 

Poznámka: Váš server dostane "menný" obal, tzv. „Cloud Service“, ktorý ma jedinečné DNS meno pre internet (Cloud Service DNS Name). V jednej „Cloud Service“ môžete mať viac serverov a virtuálnu sieť. Napriek tomu, že máte pridelené DNS meno, bez explicitného povolenia sieťových portov na konkrétnych serveroch sú vaše servery pre internet neviditeľné a sú chránené firewallom. Položka „Storage Account“ je účet (adresa) úložiska Azure, kam sa uložia „vhd“ disky vytváraného servera.

7. V poslednom konfiguračnom okne akceptujte doporučené rozšírenie VM Agent a ak budete chcieť na správu použiť Chef, zaškrtnite jeho pridanie do konfigurácie.


8. Spustí sa proces vytvorenia virtuálneho servera podľa vašich požiadaviek. Počkajte niekoľko minút.

9. Pripravený server zmení stav na „Running".

10. Pre nainštalovanie mySQL do Linux servera sa vzdialene pripojte do jeho prostredia. Z Windows klienta som použil PUTTY , pričom do položky "Host name (or IP address)" som vpísal Cloud Service DNS Name, ktoré ste zadali v bode 6. alebo ho nájdete po vytvorení virtuálu v zozname Virtual Machines v stĺpci DNS name.


11. Prihláste sa pod prihlasovacím účtom s heslom, ktoré ste zadali pri vytváraní servera v bode 5.

12. Dotiahnite aktualizácie vzorového image UBUNTU príkazom:

   sudo apt-get update

13. Nainštalujte mySQL server príkazom:

   sudo apt-get install mysql-server

   , pričom počas inštalácie zadajte Y pre súhlas s alokovaním priestoru na disku servera a zadajte heslo "root" používateľa mySQL servera.

14. Ak budú na servri aj aplikácie, ktoré sa budú v rámci neho správať ako klienti databázy, nainštalujte aj klientské knižnice príkazom:

   sudo apt-get install mysql-client

15. Preverte, či mySQL server beží, príkazom:

   sudo service mysql status

16. Prejdite do shellu mySQL, pričom na výzvu zadajte heslo "root" používateľa mySQL zadané v bode 13:

   mysql --user root --password

17. V režime "mysql>" zobrazte zoznam databáz, ktoré sú v správe mySQL servera hneď po jeho inštalácii:

   show databases;

18. Predošlé kroky si môžu mySQL administrátori doplniť o ďalšie príkazy, aby si databázový server nastavili podľa vlastných potrieb. Ukončite "mysql>" režim príkazom exit.

19. Linux server s mySQL beží, môžete ho ihneď použiť z iných serverov, ktoré sú v tej istej uzavretej Azure sieti (viď blogpost o vytvorení Azure VNET ). Port, na ktorom mySQL čaká je štandardne 3306 localhost IP adresy 127.0.0.1. Môžete sa o tom presvedčiť príkazom:

sudo netstat -anltp|grep :3306

20. Ak budete chcieť volať mySQL server z aplikácií mimo Azure VNET, musíte mu otvoriť komunikačný port pod jeho internetovým DNS menom (popísaným v poznámke bodu 6), ktorý nebude samozrejme naviazaný na "localhost" IP adresu. Najjednoduchším spôsobom je "forwarding" lokálneho portu  127.0.0.1:3306 na port, ktorý bude použiteľný aj mimo "localhost-u". Nasledujúci príkaz na poslúži na to, aby požiadavky prichádzajúce zvonku servera na port 3307 boli presmerované na lokálny port 3306, na ktorom načúva mySQL server. (V príkaze použite pre jednoduchosť administračný prihlasovací účet a heslo na úrovni Linuxu so špecifikovaním mena servera, ktoré ste zadali pri vytváraní servera v bode 5):

 sudo ssh -fNg -L 3307:127.0.0.1:3306 azureuser@mojlinuxdb

 Na výzvu o povolenie pripojenia napíšte a potvrďte yes a vzápätí zadajte heslo administrátorského účtu.

21. Virtuálnemu serveru ste nastavili port 3307, z ktorého bude schopný smerovať požiadavky do mySQL servera, ale keďže Azure stavia na bezpečnosti, musíte explicitne určiť, že chcete, aby sa port 3307 zviditeľnil do internetu. Musíte teda pre virtuálny server otvoriť tzv. endpoint na porte 3307. Prejdite na Azure portál do stromu Virtual Machines a kliknite na linku s názvom vytvoreného servera.


22. Prejdite do záložky "Endpoints" a z dolného menu vyberte "Add".

23. Na prvej stránke tvorby endpoint-u nechajte vybraný "Standalone endpoint", pretože ho nebudete rozkladať na viac serverov.

24. V zozname "Name" predpripravených endpoint-ov vyberte MySQL a verejný (public) aj interný (private) porty nastavte na 3307, pretože ten sme si predpripravili ako "forwarding" port do mySQL. Potvrďte vytvorenie endpoint-u.


Poznámka: Konfigurácia endpoint-ov je založená na NAT adresácii, ktorá prekladá verejnú IP adresu internetového DNS mena a verejný port na vnútornú IP adresu servera v Azure sieti a na vnútorný port. Preto je na vás, či ponecháte "public" a "private" port rovnaký, alebo číslo "private" portu skryjete nastavením iného čísla ako má "public" port.

25. Hotovo, máte pripravený mySQL server na Ubuntu, ktorý môžete napojiť aj na aplikácie mimo Azure VNET, pretože v "connection string-och" bude dostupný ako "mojlinuxdb.cloudapp.net:3307".


Miro

P.S. Ak ste členmi BizSpark programu pre začínajúce vývojárske "startupy" (firmy alebo živnostníkov) , alebo máte kúpené Visual Studio s MSDN, môžete si bezplatne aktivovať Azure benefit v týchto programoch (Microsoft Azure pre členov BizSpark , Microsoft  Azure pre MSDN predplatiteľov). Pri registrácii Azure benefitu v MSDN alebo BizSparku nie je požadované overenie platobnou kartou. Ak nie ste členmi týchto programov, môžete si Microsoft Azure bezplatne vyskúšať na dobu 30 dní cez Microsoft Azure Trial.

 

Zjednotenie Windows a Windows Phone Store - príprava na migráciu a nové pravidlá publikovania

S príchodom Windows 10 prichádza k spojeniu aplikačných obchodov Windows a Windows Phone Store. Toto zjednotenie prináša zmeny aj na strane developerského centra, ktoré sa taktiež zjednocuje. Ak ste vývojárom a vydavateľom store aplikácií, v tomto blogu: http://blogs.windows.com/buildingapps/2015/05/01/get-ready-for-the-unified-dev-center-dashboard-preview-and-upcoming-store-changes/ si môžete prečítať, ako sa pripraviť na migráciu vašich existujúcich aplikácií do nového storu, ktorá začína 8. júna. Migrácia bude síce automatická, no v blogu môžete nájsť popis aktivít, ktoré sa vývojárom pred migráciou odporúčajú vykonať. Nové pravidlá pre publikovanie aplikácií nájdete tu: https://msdn.microsoft.com/en-us/library/windows/apps/dn764944.aspx

 

Marek.

Záloha dát z 64-bitových Windows 7, Windows 8, Windows 8.1 do Azure

Prečo?
- aby ste sa vyhli infarktovým stavom, keď vám systém oznámi, že váš disk prestáva spoľahlivo ukladať a čítať
- aby ste mohli dobre zaspávať s istotou, že všetko, čo ste dnes urobili máte bezpečne, šifrovane odložené v dátovom centre
- aby ste zálohovali jednoduchšie (bez nutnosti pripajať externý zálohovací disk) a mali zálohy dostupné z každého miesta

Ako?
1. Vytvorte si Azure subskripciu (či už cez Azure benefit v MSDN, Azure benefit v BizSpark-u, cez 30dňový free trial, v OPEN od lokálneho predajcu, alebo rovno cez online objednávku).
2. Oživte si Azure Backup (alebo požiadajte o nastavenie vášho IT kolegu/kamaráta). Podrobný popis ako na to, nájdete v článku od Petra Belka na https://tipy-triky.sk/zalohovanie-windows-v-cloude-azure/#more-2690 .

Po aprílovej zmene účtovania služby Azure Backup sa cena za zálohu skladá z poplatku za inštanciu (napr. za váš notebook alebo server) a z poplatku za úložné miesto spotrebované zálohami. Služba Azure Backup nie je nejaký kopírovací nástroj, ale za jednoduchým rozhraním skrýva sofistikovaný proces v v datacentrách Azure, ktorý dokáže neustále držať konsolidovanú zálohu pripravenú na obnovu dát za hociktorý deň až do úrovne súboru. Aby vám množstvo dát v úložisku "nekyslo", a tak nezvyšovalo náklady, nastavte dobu uchovania záloh ("Retention range in days") na vyhovujúcu hodnotu. Ak tento parameter cez grafický nástroj Microsoft Azure Backup nastavíte na svojom PC napr. na 120 dní,  obsadený priestor úložiska bude samozrejme výrazne menší ako "120 dní * veľkosť zálohovaného disku", pretože služba Azure Backup pracuje s inkrementálnymi zálohami, a pritom vám ponúka bez problémov aj plnú obnovu k vybranému dňu, pretože ju vie konsolidovane pripraviť z plných a inkrementálnych záloh.
 Aby ste mali lepšiu predstavu o nákladoch na zálohu napr. 50 GB vašich dát podľa aprílového cenníka, 3,75 EUR je mesačný poplatok za inštanciu a 0,89 EUR je mesačný poplatok za úložisko. Istota, že neprídete o najdôležitejších 50 GB dát, má cenu 4,64 EUR/mesačne. A naviac, keďže sa dáta pred prenosom do dátového centra skomprimujú a zašifrujú na strane vášho PC, záloha v datacentre zaberie menej miesta a odšifrovať ju viete len vy.

Azure Backup používam pre svoj najcennejší lokálny disk môjho notebooku už viac ako rok.

Pridajte sa!

Miro

 

P.S. Ak ste členmi BizSpark programu pre začínajúce vývojárske "startupy" (firmy alebo živnostníkov) , alebo máte kúpené Visual Studio s MSDN, môžete si bezplatne aktivovať Azure benefit v týchto programoch (Microsoft Azure pre členov BizSpark , Microsoft  Azure pre MSDN predplatiteľov). Pri registrácii Azure benefitu v MSDN alebo BizSparku nie je požadované overenie platobnou kartou. Ak nie ste členmi týchto programov, môžete si Microsoft Azure bezplatne vyskúšať na dobu 30 dní cez Microsoft Azure Trial.

Nový nástroj pre tvorbu inštalátorov vo Visual Studiu, teraz so zľavou 20%

Slovenský startup unSigned prináša na trh nový nástroj Visual & Installer pre vytváranie NSIS a Inno Setup inštalátorov priamo z Visual Studia.
Ide o rozšírenie (extension) pre Visual Studio 2005, 2008, 2010, 2012, 2013 a 2015, ktoré umožňuje pracovať so Setup projektmi (inštalátormi) priamo v IDE, čím získavate všetky výhody Visual Studia spolu s vlastnosťami týchto inštalačných systémov.

Kľúčové vlastnosti:

  • Nové typy projektov: NSISProject icon NSISProject a InnoSetupProject icon InnoSetupProject
  • Plná integrácia do IDE Visual Studia
  • Pracuje s Visual Studiom 2005, 2008, 2010, 2012, 2013 a 2015
  • Zostavenie (Build) inštalátorov priamo s inými typmi projektov (C++/.NET, ...)
  • Vlastnosti projektu (Project properties) pre NSISProject a InnoSetupProject
  • Zvýrazňovanie syntaxe (Syntax highlighting)
  • IntelliSense - dopĺňanie slov (Complete Word)
  • IntelliSense - parametre (Parameter Info)
  • IntelliSense - rýchle info (Quick Info)
  • Navigácia v skripte (Navigation Bars)
  • Kompletné prepojenie so zostavením riešenia (solution build)
  • Rýchle skoky z okna chýb (Error List)
  • Funkcia Choď do (Go To)
  • Rady a tipy pre písanie skriptov
  • Optimalizácia kódu
  • Otváranie súborov (Go To file)
  • IntelliSense - Kúsky kódu (Code Snippets)
  • Vytváranie vlastných Kúskov kódu
  • Regióny (schovávanie kódu - Outlining)
  • Rozpoznávanie plug-inov (iba NSISProject icon NSISProject)
  • Plná podpora pre verziovacie systémy (SVN, GIT, ...)
  • Dynamická nápoveda
  • Kompatibilita medzi všetkými verziami Visual Studia
  • Dizajnér pre MessageBox-y
  • Konvertovanie VS Setup projektov (.vdproj) do NSIS alebo Inno Setupu!

Na stránke produktu www.visual-installer.com nájdete ďalšie informácie vrátane plnohodnotnej Trial verzie.

Neprehliadnite!

V spolupráci so spoločnosťou Microsoft sme pripravili kampaň pre slovenských a českých záujemcov.
Každý kto si zakúpi komerčnú licenciu produktu do 30. 4. 2015, môže získať dodatočnú zľavu 20%! Stačí pri nákupe zadať kód MSDN-VYVOJARI.

V prípade akýchkoľvek otázok nás neváhajte kontaktovať.
unSigned, s. r. o.

BizSpark pre Open Source startupy

 Program BizSpark pomáha startup-om, firmám do 5 rokov a rodiacim sa projektom. Má viac ako 100 tisíc aktívnych startup-ov. Pre Open Source startupy zapojené do BizSparku je viac ako zaujímavý cloud benefit, t.j. predplatené cloudové služby Microsoft Azure (nie je potrebná ani platobná karta). Microsoft Azure je univerzálna platforma pre prevádzku infraštruktúry a aplikácií v dátových centrách. Bezplatný cloudový benefit BizSpark-u v hodnote 150 USD mesačne (750 USD pre celý 5členný tím), umožní začínajúcej firme do niekoľkých minút naštartovať aplikáciu v dátovom centre aj na platforme Linux s podporou širokej palety OpenSource softvéru.

 

 Pri prenájme virtuálneho servera v Microsoft Azure nepotrebuje startup v BizSpark-u žiadne investičné náklady. Začínajúci projekt má na výber rôzne technologické variácie, ako napr. Linux server s PHP a mySQL alebo Python s MongoDB atď. Pre ilustráciu, BizSpark kredit na cloudové služby vystačí na plnú prevádzku dvoch virtuálnych serverov, alebo na prenájom úložného priestoru 5 TB, na prevádzku automaticky škálovanej výkonnej webovej aplikácie, či na "back-end" mobilných služieb Windows Phone, Android, iOS mobilné aplikácie. Variácie využitia kreditu na cloudové služby sú široké a zahŕňajú ľubovoľné platformy ako aj geografické lokácie. ( , napr. servery priamo v USA, bez nutnosti zakladať firmu evidovanú v Spojených štátoch).
 Najambicióznejšie startup projekty „postavené“ na cloude s jasným obchodným modelom si naviac môžu “siahnuť” na Microsoft Azure benefit v hodnote 60 tisíc USD na jeden rok. Takéto jednoročné veľké kreditovanie cloudových služieb umožní maximálnu, globálnu, akceleráciu projektu, pretože pokryje nielen produkčné prostredie, ale aj záťažové testovanie, vývojové prostredie v datacentre a validáciu rôznych architektúr bez dodatočných investícií.

Aké podmienky musí spĺňať startup uchádzajúci sa o vstup do BizSpark-u?
- firma (s.r.o., a.s.) alebo živnostník  podnikajúci menej ako 5 rokov
- tvorba a monetizovanie vlastného softvéru a IT služieb
- príjmy nepresahujúce 1 milión dolárov ročne

Aký je postup na vstup do BizSpark-u?
 - prejdite jednoduchým procesom podrobne popísaným tu 
 - pridajte do tímu všetkých členov podľa tohto návodu 
 - bezplatne aktivujte pre každého člena tímu Azure podľa tohto návodu  
 - zúžitkujte, čo vám Azure ponúka pre nasadenie vášho Open Source projektu s návodmi pre Linux , MongoDB , mySql , .Node.js , PHP , Python , Ruby  a iné .

Využite hodnotný benefit Azure v BizSparku pre svoje projekty bežiace na Open Source platformách! 

 

Miro

Top IT Blogger - súťaž

Ako partner súťaže o TOP IT Bloggera,  ktorej už 3. ročník organizuje portál robime.it, by sme vám radi túto súťaž predstavili bližšie. Súťaž je určená pre ľudí, ktorí majú chuť a potrebu písať, šíriť svoje myšlienky a skúsenosti a nechcú riešiť vlastný web a propagáciu, alebo chcú rozšíriť rady svojich už existujúcich čitateľov.

Zároveň chceme podporiť tých, ktorí majú pred písaním určitú obavu alebo si myslia, že písanie nie je pre nich. Jedna z vecí, ktorú vyzdvihujú naši súčasní blogeri je zistenie, že písanie nie je také náročne ako si pôvodne mysleli a že dlhšie trvá odhodlať sa k písaniu ako napísať samotný článok.

Súťaž trvá do 31. marca 2015. Vyhrá ten, kto napíše články, ktoré dosiahnú najvyššiu čítanosť.

Každému blogerovi naviac poskytujeme pri písaní článku pomoc, či už sa jedná o výber témy, korektúry, štylizáciu a formátovanie, nestranný názor na článok a propagáciu článku na Facebooku.

Ako inšpiráciu na možné témy uvádzame:

  • Všetko, čo pomôže zorientovať sa na trhu práce, pripraviť sa na zmenu, byť úspešným pri hľadaní zaujímavej práce.
  • Rady pre kontraktorov alebo začínajúce firmy.
  • Informácie pre juniorov – prvá práca, aké mám možnosti, kde môžem byť za 5 rokov?
  • Trendy / Ktorým smerom rozvíjať svoje odborné znalosti?
  • Rady a tipy. Čo sa osvedčilo?
  • Rôzne “war stories” / Skúsenosti z projektov.
  • Príbehy z profesionálneho života.
  • Zaujímavé projekty z technologického prostredia.
  • Sú IT ľudia iní? V čom?
  • Spájanie dvoch svetov: IT a ostatní.
  • Podpora startupovej komunity
  • Svet internetu a sociálnych sietí, uplatnenie technológií v praktickom živote.
  • Vývoj, marketing a predaj aplikácií.

Prečítajte si pre inšpiráciu naše články.

Aké ceny môžeš vyhrať?

1. cena - Tablet Samsung Galaxy Tab  - pre najčítanejšieho bloggera Top IT Blogger - venuje Accenture

2. cena - telefón Nokia Lumia 730 Dual SIM - za odporúčenie bloggera - venuje Microsoft

O aké ceny sa žrebuje?

  • Každý blogger bude zaradený do žrebovania o následujúce ceny:
  • 1x voucher v hodnote 120 Euro na vzdelávací kurz podľa vlastného výberu www.it-academy.sk
  • 1x voucher na vzdelávací kurz podľa vlastného výberu TimeManagement.sk
  • 3x GPS navigácia Sygic
  • 3x kniha podľa vlastného výberu v hodnote 15 Euro z internetového kníhkupectvá Martinus.sk
  • 3x predplatné časopisu PC Revue
  • 3x Azure Pass venuje Microsoft
  • 25x Office 365 venuje Microsoft

Partneri súťaže:

 

     

  

 

Viac informácii nájdete: http://robime.it/top-blogger/

Priebeh súťaže môžete sledovať na fb.com/robimeit.

Viac príspevkov Ďalšia stránka »