Webes és mobil-alapú megoldások... hatékonyan és gyorsan a közigazgatásban

Hasonló dokumentumok
ISBN

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

Android Pie újdonságai

Web-fejlesztés NGM_IN002_1

10. Gyakorlat: Alkalmazások publikálása Remote Desktop Szervízen keresztül

Google Web Toolkit. Elek Márton. Drótposta kft.

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Biztonságos PHP a gyakorlatban

1. ábra Mester oldal alapján különböző témákkal létrehozott webhely oldalai

Symfony kurzus 2014/2015 I. félév. Controller, Routing

Szakmai továbbképzési nap akadémiai oktatóknak december 14. HISZK, Hódmezővásárhely / Webex

JavaScript Web AppBuilder használata

4. Gyakorlat: Csoportházirend beállítások

Két tűz között. statikus site generátorok és javascript alkalmazások és a Drupal

SZABADKAI MŰSZAKI SZAKFŐISKOLA. PREZENTÁCIÓ E-mobil tantárgyból Jquery Mobil Keretrendszer SZABADKA, 2015.

FELHASZNÁLÓI KÉZIKÖNYV 1.sz. melléklet

Széchenyi István Egyetem

JAVA webes alkalmazások

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET Core) Cserép Máté

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Web-fejlesztés NGM_IN002_1

USER MANUAL Guest user

Biztonság java web alkalmazásokban

Esri Magyarország Felhasználói Konferencia Portal for ArcGIS. Kisréti Ákos

Using the CW-Net in a user defined IP network

Oracle Forms - Oracle Application Express alkalmazások migrációja a jövőbe

MVC. Model View Controller

Hálózati betekint ő program telepítése mobil telefonra. Symbian. alarm shop. Windows mobile Android IPhone Blackberry

Felhasználóbarát eszközök és élmények. Üzleti szintű megoldások

MKB. Mobil NetBANKár. Mobil eszköz és böngészı beállítások

(NGB_TA024_1) MÉRÉSI JEGYZŐKÖNYV

FELHASZNÁLÓI KÉZIKÖNYV 1.sz. melléklet

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

Mobil Informatikai Rendszerek

Website review mozogjotthon.com

HTML 5 - Start. Turóczy Attila Livesoft Kft

Mobil készülékek programozása

iphone és Android két jó barát...

Madarassy László, mérnök, BME - Mobil Innovációs Központ. lmadarassy@mik.bme.hu

Visual Builder-ek. Általános áttekintése, Top 5 plugin Éééés Gutenberg

Internet technológiák

Sintony SAK 41. Kezelési utasíitás 8AA D0-20/10/99 - UK -

Webes alkalmazások fejlesztése

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

11. Gyakorlat: Certificate Authority (CA), FTP site-ok

Website review acci.hu

Felhasználói segédlet a webkonferencia szolgáltatás használatához

Felhasználói segédlet a webkonferencia szolgáltatás használatához

JavaScript tesztelési módszerek BRAUN PATRIK: JAVASCRIPT TESZTELÉSI MÓDSZEREK 1

Számlaigazoltatás újratöltve. Lázár Péter

OLYMPICS! SUMMER CAMP

Verziókezelt konfigurációmanagement++ Pásztor György, SZTE Klebelsberg Könyvtár

Cross platform játékmotor + szerkesztő Támogatott platformok

JavaScript bűvésztrükkök, avagy PDF olvasó és böngésző hackelés

Responsive Web Design. Dr. Nyéki Lajos 2019

Prémium WordPress havi jelentés

Mobilplatformok Merre tart a világ? Kis Gergely MattaKis Consulting

További lehetőségek. Nighthawk X6 AC3200 Tri-Band WiFi-router. R8000-as modell

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

Hogyan használja az OROS online pótalkatrész jegyzéket?

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 7

12.óra jquery Framework #1. Gyimesi Ákos

Mobil webszerverek. Márton Gábor Nokia Research Center. W3C Mobilweb Műhelykonferencia, Budapest október 18.

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

libgdx alapok, első alkalmazás

Mobil SEO Kell-e külön foglalkozni a mobil jelenlétünk kereső optimalizálásával? Adam Lunczner Digital Director

AJAX Framework építés. Nagy Attila Gábor Wildom Kft.

Mobil Informatikai Rendszerek

Symfony kurzus 2014/2015 I. félév. Security: authentication, authorization, user provider, role-ok, access control, FOS user bundle

Végpont védelem könnyen és praktikusan

Bevezető. Servlet alapgondolatok

Web programozás. 3. előadás

Ustream.tv Bepillantás egy közösségi élővideo site működésébe

Bevezetés Működési elv AJAX keretrendszerek AJAX

Tájékoztató a kollégiumi internet beállításához

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

YOUNG PARTNER NAP

Cloud computing Dr. Bakonyi Péter.

Eddig még nem használt vezérlőket is megismerünk: PlaceHolder, RadioButtonList.

SZABADKAI MŰSZAKI SZAKFŐISKOLA. E-mobil prezentáció dokumentációja SZABADKA, 2015.

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Learn how to get started with Dropbox: Take your stuff anywhere. Send large files. Keep your files safe. Work on files together. Welcome to Dropbox!

Személyes adatváltoztatási formanyomtatvány- Magyarország / Personal Data Change Form - Hungary

NEMZETI TURISZTIKAI ADATBÁZIS

Csoport neve: Kisiskolások Feladat sorszáma: 2. Feladat címe: Oktatási intézmény honlapja, oktatási naplóval. E-Project.

Web-fejlesztés NGM_IN002_1

1. Hálózati beállítások: Ellenőrizze, hogy a hálózati beállítások lehetővé teszik-e a W1SE rendszer

Helyzetalapú szolgáltatások közösségi hálózatokon. Helyzetalapú szolgáltatások

Miért jó nekünk kutatóknak a felhő? Kacsuk Péter MTA SZTAKI

Excel vagy Given-When-Then? Vagy mindkettő?

Teljes lefede2ség. Fehér Zoltán

(Asking for permission) (-hatok/-hetek?; Szabad ni? Lehet ni?) Az engedélykérés kifejezésére a következő segédigéket használhatjuk: vagy vagy vagy

A W3C Web Payments kezdeményezése Bernard Gidon - W3C Virág Éva - W3C Magyar Iroda

Okostelefon használati útmutató

Számítógépes hálózatok

Angol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Laborgyakorlat: A Windows XP haladó telepítése

Átírás:

Webes és mobil-alapú megoldások hatékonyan és gyorsan a közigazgatásban Gránicz Ádám, ügyvezető IntelliFactory Kft. granicz.adam@intellifactory.com Infotér Konferencia 2011, Balatonfüred - Nov 22-23, 2011 Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com

Elektronikus kapcsolatteremtési lehetőségek Közigazgatás <-- --> Állampolgárok Hatékonyság Elektronikus kapcsolatteremtés lehetőségeinek bővítése Mobil és webes alkalmazások Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 2

A mobil piac - ahová tartunk A mobil piac 3,7 milliárd mobil felhasználó, 4,3 millárd telefon $1,2 billió (ezer milliárd) cserélt gazdát: a leggyorsabban fejlödő iparág a földön $8,8 milliárd ment hírdetésre/marketingre $3 milliárdot költöttek fogyasztói alkalmazásokra $6 milliárdot költöttek céges alkalmazásokra Természetesen rohamos növekedés várható forrás: http://communities-dominate.blogs.com/brands/2011/02/all-the-numbers-all-the-facts-on-mobile-the-trillion-dollar-industry-why-is-google-saying-put-your-b.html Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 3

A mobil piac A potenciális mobil ügyfelek elérése Csatorna Költség Hatásfok Fő/$ Mobil website $30.000 36,40% 2.840 iphone alkalmazás $30.000 6,75% 527 Mobil alkalmazás a 3 fő platformra $90.000 24,04% 599 source: http://mashable.com/2011/02/24/mobile-app-dev-cost/ Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 4

Mobil fejlesztés ma nem túl biztató ios Objective-C pokol + Macintosh + egyedi fejlesztési környezet és eszközök Android Java + egy terjedelmes API Windows Phone -.NET + egy terjedelmes API Windows Mobile - Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 5

Mobil fejlesztés ma nem túl biztató Lehet-e azonos kódbázisból több platformra alkalmazásokat fejleszteni? Nem igazán, hacsak nem írjuk át az alkalmazást egy másik nyelvre Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 6

És mire lenne szükség? Mire mondanánk hogy igen, ez kell nekem!? Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 7

Mire lenne szükség? Például a következőkre: Kevesebb kódra Magasabb szintű absztrakciók használatára Erősen tipizált, deklaratív UI-k Multi-targetálás A webes alkalmazások desktopra vitelére Felhő-alapú skálázásra Mindezekkel óriási megtakarítások érhetők el mind idő/munka és fenntarthatóság szempontjából Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 8

Natív vs Webes alkalmazások JavaScript a futtató nyelve A kliens oldali web alkalmazásoknak és idővel Desktop alkalmazásoknak: Windows 8 Mobil alkalmazásoknak: Android, WP7, etc. Néhányan még szerver oldali kódot is fejlesztenek JavaScript-ben (lásd Node.Js) Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 9

JavaScript-alapú mobil alkalmazások Írjunk hát mobil alkalmazásokat JavaScript-ben! De, mi a helyzet a PhoneGap-el és társaival? Járható, de JavaScript-et jól írni nehéz, mert: Gyengén tipizált Nincs fordításidejű garancia Kódolás közben minimális segítség kód kiegészítés, stb. És még mindig maradt N-1 ok a váltásra Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 10

WebSharper Vállalati erősségű webes keretrendszer A teljes szerver+kliens kód egy nyelven Ebből teljes webes alkalmazásokat állít elő Bármely JS könyvtárral együtt tud működni Hatékony és ugrásszerű teljesítménynövekedést eredményező absztrakciók Automatikus és teljes erőforrás követés Biztonságos URL-ek És még rengeteg más Kevesebb kód (50-90% megtakarítás!) Gyorsabban fejleszthető Könnyebben tenntartható, bővíthetó alkalmazások Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 11

WebSharper Mobile Mobil képességeket tesz elérhetővé JavaScriptből Csomag készítés automatizálása Gyors és hatékony multi-targeting Felhős infrastruktúrába is skálázható Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 12

WebSharper bővítések Több tucat bővítés itt: http://websharper.com/extensions Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 13

Hatékony absztrakciók Sitelet-ek Erősen tipizált Egymásbaágyazható Első-osztályú Egy únió tipusban írja le a teljes webes funkcionalitást /// Actions that correspond to the different pages in the site. type Action = Home Contact Protected Login of option<action> Logout Echo of string Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 14

WebSharper sitelet-ek Erősen tipizált template-k, biztonságos URL-ek let Template title main : Content<Action> = let menu (ctx: Context<Action>)= let (!) action = ctx.link action > HRef [ A [!Action.Home] -< [Text "Home"] A [!Action.Contact] -< [Text "Contact"] A [!(Action.Echo "Hello )] -< [Text "Say Hello"] A ["~/LegacyPage.aspx" > ctx.resolveurl > HRef] -< [Text "ASPX Page"] ] > List.map (fun link -> Label [Class "menu-item"] -< [link] ) Templates.Skin.Skin (Some title) } { LoginInfo = Widgets.LoginInfo Banner = fun ctx -> [H2 [Text title]] Menu = menu Main = main Sidebar = fun ctx -> [Text "Put your side bar here"] Footer = fun ctx -> [Text Copyright (c) 2011 YourCompany.com"] Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 15

WebSharper sitelet-ek /// The pages of this website. module Pages = /// A helper function to create a hyperlink let ( => ) title href = A [HRef href] -< [Text title] /// The home page. let HomePage : Content<Action> = Template "Home" < fun ctx -> [ H1 [Text "Welcome to our site!"] Contact" => ctx.link Action.Contact ]... Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 16

WebSharper sitelet-ek ágyazhatóság 1 // A simple sitelet for the root of the site. let home = Sitelet.Content "/" Action.Home Pages.HomePage Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 17

WebSharper sitelet-ek ágyazhatóság 2 // An automatically inferred sitelet for the basic parts. let basic = Sitelet.Infer < fun action -> match action with Action.Contact -> Pages.ContactPage Action.Echo param -> Pages.EchoPage param Action.Login action -> Pages.LoginPage action Action.Logout -> // Logout user and redirect to home UserSession.Logout () Content.Redirect Action.Home Action.Home -> Content.Redirect Action.Home Action.Protected -> Content.ServerError Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 18

WebSharper sitelet-ek ágyazhatóság 3 // A sitelet for the protected content. let authenticated = let filter : Sitelet.Filter<Action> = { VerifyUser = fun _ -> true LoginRedirect = Some >> Action.Login } Sitelet.Protect filter < Sitelet.Content "/protected Action.Protected Pages.ProtectedPage Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 19

WebSharper sitelet-ek ágyazhatóság let EntireSite = // Compose the above sitelets into a larger one. Sitelet.Sum [ home authenticated basic ] Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 20

Hatékony absztrakciók Formlet-ek Erősen tipizált Egymásbaágyazható Első-osztályú Dependens formlet-ek Flowlet-ek Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 21

WebSharper formlet-ek let TB label msg = Controls.Input "" > Validator.IsNotEmpty msg > Enhance.WithValidationIcon > Enhance.WithTextLabel label Formlet.Yield (fun v 1 v 2... v n -> <compose all v i s>) <*> formlet 1 <*> formlet 2... <*> formlet n Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 22

WebSharper formlet-ek type Person = { Name: string; Email: string } [<JavaScript>] let PersonFormlet () : Formlet<Person> = let namef = TB Name Empy name not allowed let emailf = TB Email Please enter a valid email address Formlet.Yield (fun name email -> { Name = name; Email = email }) <*> namef <*> emailf > Enhance.WithSubmitAndResetButtons > Enhance.WithLegend "Add a New Person > Enhance.WithFormContainer Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 23

WebSharper formlet-ek Az eredmény: Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 24

WebSharper formlet bővítmények Több kurrens UI technológiára húzható: jquery UI Yahoo UI Ext JS jquery Mobile Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 25

WebSharper formlet példa - jqm let loginsequencef = Formlet.Do { let! username, password, remember = Formlet.Yield (fun user pass remember -> user, pass, remember) <*> (Controls.TextField "" Theme.C "Username: " > Validator.IsNotEmpty "Username cannot be empty!") <*> (Controls.Password "" Theme.C "Password: " > Validator.IsRegexMatch "^[1-4]{4,}[0-9]$" "The password is wrong!") <*> Controls.Checkbox true Theme.C "Keep me logged in " > Enhance.WithSubmitButton "Log in" Theme.C let remembertext = if remember then "" else "not " do! Formlet.OfElement (fun _ -> Div [ ]) H3 [Text ("Welcome " + username + "!")] P [Text ("We will " + remembertext + "keep you logged in.")] } > Formlet.Flowlet Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 26

WebSharper formlet példa - jqm Div [HTML5.Attr.Data "role" "page"] -< [ Div [HTML5.Attr.Data "role" "header"] -< [ H1 [Text "WebSharper Formlets for jquery Mobile"]> ] Div [HTML5.Attr.Data "role" "content"] -< [ ] loginsequencef ] Div [HTML5.Attr.Data "role" "footer"] -< [ ] P [Attr.Style "text-align: center;"] -< [Text "IntelliFactory"] Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 27

WebSharper formlet példa - jqm Az eredmény: Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 28

Egyéb bővítmények GIS Google Maps Bing Maps Vizualizáció Infovis Protovis Google Visualization Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 29

Google Maps felhasználás példa type CurrentLocationControl() = inherit Web.Control() [<JavaScript>] override this.body = let screenwidth = JQuery.Of("body").Width() let MapOptions = Bing.MapViewOptions( Credentials = bingmapskey, Width = screenwidth - 10, Height = screenwidth - 10, Zoom = 16) let label = H2 [] let setmap (map : Bing.Map) = let updatelocation() = // Gets the current location let loc = Mobile.GetLocation() // Sets the label to the current location Rest.RequestLocationByPoint(<<your-bingmaps-key>>, loc.lat, loc.long, ["Address"], fun result -> let locinfo = result.resourcesets.[0].resources.[0] label.text <- "You are currently at " + JavaScript.Get "name" locinfo) // Adds a pushpin at the current location let loc = Bing.Location(loc.Lat, loc.long) let pin = Bing.Pushpin loc map.entities.clear() map.entities.push pin map.setview(bing.viewoptions(center = loc)) let map = Div [] >! OnAfterRender (fun this -> // Renders a map control let map = Bing.Map(this.Body, MapOptions) map.setmaptype(bing.maptypeid.road) setmap map) // Returns markup for this control Div [ label Br [] map ] :> _ // Keep updating your location regularly JavaScript.SetInterval updatelocation 1000 > ignore Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 30

Google Maps felhasználás példa Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 31

Egyéb bővítmények HTML5 WebGL O3D GlMatrix Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 32

Összegzés F# + WebSharper a következőket nyújtja: Óriási hatékonyságnövekedés Egy folyamatosan bővülő piac lehetősége Gyors út a többplatformos megoldásokhoz Skálázhatóság desktop-ra és a felhőbe Funkcionális programozás: Hatékonyabb absztrakciók Gyorsabb fejlesztés Rövidebb, fenntarthatóbb kódbázis Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com 33

Kérdések? Több információ itt: http://intellifactory.com http://websharper.com http://infoq.com/articles/websharper Infotér Konferencia 2011, Balatonfüred Nov 22-23, 2011 Copyright 2004-2011 IntelliFactory Webes és mobil-alapú megoldások... http://www.intellifactory.com