21.12.2015
Yusuf Koraman - Software Architecture
Native / Web / Hybrid
 Native ? Web ? Hybrid ?
 Most popular Hybrid frameworks ?
 IONIC Framework (What ? When ? Why? )
 Ionic Setup(NodeJS & Cordova & Ionic & Emulator)
 IDEs
 CLI
 Ionic Apps & IONIC Creator & IONIC View
 Sample Project
 Sample Api & Sample IONIC Project
 Workshop
 QUESTIONS?
Native / Web / Hybrid
Hybrid & Web
Ionic Framework & Hybrid
Popular Hybrid Frameworks
• http://noeticforce.com/best-hybrid-mobile-app-ui-frameworks-html5-js-css
• http://tutorialzine.com/2015/10/comparing-the-top-frameworks-for-building-
hybrid-mobile-apps/
IONIC Framework
• HTML5, AngularJS, Cordova(PhoneGap)
• Ionic is a complete open-source SDK for hybrid mobile app development. Built
on top of AngularJS and Apache Cordova, Ionic provides tools and services for
developing hybrid mobile apps using Web technologies like CSS, HTML5,
and Sass. Apps can be built with these Web technologies and then distributed
through native app stores to be installed on devices by leveraging Cordova. Ionic
was created by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013,
and is used by software developers around the World
• Why?
 Performance obsessed,Angular & Ionic
 Native focused
 Beautifully designed
 A powerful CLI
 Fun to learn
 Min. DOM Manupulation
 Model bindings. (AngularJS)
 Documentation
 Extentable html & HTML5
IONIC - Structure
IONIC - Structure
 config parts
 package.json lists the used NodeJS modules
 bower.json lists the used Bower packages
 config.xml has all the properties for your created cordova project
 gulpfile.js describes GulpJS build tasks
Below files are the base for your Ionic project. They are not very
different to any other AngularJS application you might have seen.
Additional you have some folders:
 hooks/ Not that important in the beginning,contains scripts which
run at specific points of the workflow.
 plugins/ your installed cordova plugins
 www/ this is where the magic happens!
 SASS(Sysntactically Awesome Style Sheet) - .scss
IONIC - Structure
IONIC - Structure
 SASS(Sysntactically Awesome Style Sheet) - .scss
Multi Platform & IONIC
How to change displays for platforms?
IONIC Setup
• Node.js
• NPM(Node Package Manager)
 Node.js
 Jdk
 JAVA_HOME’key i =jkd path (Environment settings)
 npm install -g cordova (Cordova Installation)
 npm install -g ionic (Ionic Installation)
IONIC Setup
IDEs
 Android Studio
 Ionic Plugin
 Visual Studio
 Vs 2013 & Service Pack 1
 IONIC Templates on nuget
 Visual Studio 2015 & Cordova Scripts
 Notepad ++
 SublimeText 2
 IONIC plugin
Etc.
CLI
CLI
 İonic start [uygulama adı] [varsa template adı]
 https://creator.ionic.io/app/dashboard/projects
 ionic start [appName] creator:93469cfcdff8
CLI
 İonic start AppName TemplateName
 cd myApp
 ionic platform add ios | ionic platform add android
 ionic build ios | ionic build android
 ionic emulate android | ionic emulate ios
 İonic serve kendisi bir host açar.
 İonic run > bağlı olan cihazda uygulamayı acar.
Ionic Apps & View & Creator
 https://apps.ionic.io/apps
 https://creator.ionic.io/
IONICBank
Questions

More Related Content

PPTX
Universal Windows Platform
PDF
Cross Platform Mobile Development
PPTX
PDF
Mobile Architecture Comparison
PDF
Cross platform development
PDF
Hybrid Apps with Angular & Ionic Framework
PPTX
Build Your First iPhone or Android App with Telerik AppBuilder
Universal Windows Platform
Cross Platform Mobile Development
Mobile Architecture Comparison
Cross platform development
Hybrid Apps with Angular & Ionic Framework
Build Your First iPhone or Android App with Telerik AppBuilder

What's hot (20)

PDF
React Native in a nutshell
PDF
Cross platform mobile web apps
PDF
Build Consumer Apps Using Mobile SDK and Ionic Framework
PPTX
Mobile Applications with Angular 4 and Ionic 3
PPTX
JavaScript for ASP.NET programmers (webcast) upload
PDF
Ionic CLI Adventures
PPTX
Telerik AppBuilder 101
ODP
Hybrid application development
PDF
Ionic event: March 2021
PDF
Creating mobile apps - an introduction to Ionic (Engage 2016)
PPTX
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
PDF
Workshop Ionic Framework - CC FE & UX
ODP
Use Ionic Framework to develop mobile application
PDF
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
PDF
Ionic Crash Course! Hack-a-ton SF
PDF
Amazon Final internship presentation
PPTX
Developing Hybrid Applications with IONIC
PPTX
IONIC - Hybrid Mobile App Development
PDF
Cordova, Angularjs & Ionic @ Codeaholics
PDF
Ionic in 30
React Native in a nutshell
Cross platform mobile web apps
Build Consumer Apps Using Mobile SDK and Ionic Framework
Mobile Applications with Angular 4 and Ionic 3
JavaScript for ASP.NET programmers (webcast) upload
Ionic CLI Adventures
Telerik AppBuilder 101
Hybrid application development
Ionic event: March 2021
Creating mobile apps - an introduction to Ionic (Engage 2016)
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Workshop Ionic Framework - CC FE & UX
Use Ionic Framework to develop mobile application
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Ionic Crash Course! Hack-a-ton SF
Amazon Final internship presentation
Developing Hybrid Applications with IONIC
IONIC - Hybrid Mobile App Development
Cordova, Angularjs & Ionic @ Codeaholics
Ionic in 30
Ad

Viewers also liked (20)

PDF
Enterprise Integration Patterns with Camel
PPTX
Animasi 2 d
PDF
Financial Chronicle May 20 2009
PPTX
Tarea 4. pubmed. competencias informacionales
PPTX
Tarea del seminario 2
PPTX
Tarea del seminario 3
PDF
Supertech Africa
PPTX
kuliah tamu - teknologi di dunia
PPT
A prova de redação da UFOP
PDF
2015 global contact centre benchmarking summary report
PDF
Ascending the Mobile Growth Stack: SoundCloud @ LTR by Appboy
PPTX
Publishing nulj using open journal system (ojs)
PDF
Levent-Gurses' Introduction to Web Components & Polymer
PDF
Ionic creator
PDF
Using cloud tools to build enterprise mobile apps with APIs fast
PDF
Comparaison de plateformes Cloud
PPTX
The Editor is Important - Modern WYSIWYG Editing
PDF
Creating a WYSIWYG Editor with React
KEY
TinyMCE: WYSIWYG editor 2010-12-08
PPT
Enterprise Integration Patterns with Camel
Animasi 2 d
Financial Chronicle May 20 2009
Tarea 4. pubmed. competencias informacionales
Tarea del seminario 2
Tarea del seminario 3
Supertech Africa
kuliah tamu - teknologi di dunia
A prova de redação da UFOP
2015 global contact centre benchmarking summary report
Ascending the Mobile Growth Stack: SoundCloud @ LTR by Appboy
Publishing nulj using open journal system (ojs)
Levent-Gurses' Introduction to Web Components & Polymer
Ionic creator
Using cloud tools to build enterprise mobile apps with APIs fast
Comparaison de plateformes Cloud
The Editor is Important - Modern WYSIWYG Editing
Creating a WYSIWYG Editor with React
TinyMCE: WYSIWYG editor 2010-12-08
Ad

Similar to Ionic framework (20)

PPTX
Intro to Ionic for Building Hybrid Mobile Applications
PPTX
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
PDF
Ionic Hybrid Mobile Application
PPTX
Introduction to Ionic framework
PPT
Ionic Framework
PPTX
Workshop on Hybrid App Development with Ionic Framework
PDF
Developing ionic apps for android and ios
PPTX
Building an Ionic hybrid mobile app with TypeScript
PPTX
Introduction To Ionic3
PPTX
Developing a native mobile apps using Ionic&Cordova
PDF
Ionic2 First Lesson of Four
PDF
Cross Platform Mobile Apps with the Ionic Framework
PDF
PDF
Ionic Framework
PPTX
Hybrid mobile application with Ionic
PDF
Hybrid app development with ionic
PDF
Building Mobile Apps with Cordova , AngularJS and Ionic
PDF
Hybrid Apps with Ionic Framework
Intro to Ionic for Building Hybrid Mobile Applications
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
Ionic Hybrid Mobile Application
Introduction to Ionic framework
Ionic Framework
Workshop on Hybrid App Development with Ionic Framework
Developing ionic apps for android and ios
Building an Ionic hybrid mobile app with TypeScript
Introduction To Ionic3
Developing a native mobile apps using Ionic&Cordova
Ionic2 First Lesson of Four
Cross Platform Mobile Apps with the Ionic Framework
Ionic Framework
Hybrid mobile application with Ionic
Hybrid app development with ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
Hybrid Apps with Ionic Framework

More from Software Infrastructure (20)

PPTX
Stream Analytics
PPTX
Quartz Scheduler
PPTX
Test Driven Development
PPTX
Deep Learning
PDF
Progressive Web Apps
PPTX
Machine learning
PPTX
PPTX
PPTX
Hazelcast sunum
PPTX
Microsoft bot framework
PPTX
Blockchain use cases
PPTX
PPTX
Server Side Swift
PPTX
Push Notification
PPTX
Stream Analytics
Quartz Scheduler
Test Driven Development
Deep Learning
Progressive Web Apps
Machine learning
Hazelcast sunum
Microsoft bot framework
Blockchain use cases
Server Side Swift
Push Notification

Recently uploaded (20)

PDF
ment.tech-How to Develop an AI Agent Healthcare App like Sully AI (1).pdf
PDF
The Basics of Artificial Intelligence - Understanding the Key Concepts and Te...
PDF
Revolutionizing recommendations a survey: a comprehensive exploration of mode...
PDF
Domain-specific knowledge and context in large language models: challenges, c...
PDF
1_Keynote_Breaking Barriers_한계를 넘어서_Charith Mendis.pdf
PDF
Ebook - The Future of AI A Comprehensive Guide.pdf
PPTX
From Curiosity to ROI — Cost-Benefit Analysis of Agentic Automation [3/6]
PDF
Introduction to c language from lecture slides
PDF
Rooftops detection with YOLOv8 from aerial imagery and a brief review on roof...
PDF
Examining Bias in AI Generated News Content.pdf
PPTX
Introduction-to-Artificial-Intelligence (1).pptx
PDF
ELLIE29.pdfWETWETAWTAWETAETAETERTRTERTER
PPTX
From XAI to XEE through Influence and Provenance.Controlling model fairness o...
PDF
Intravenous drug administration application for pediatric patients via augmen...
PDF
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...
PDF
Altius execution marketplace concept.pdf
PDF
Secure Java Applications against Quantum Threats
PPTX
maintenance powerrpoint for adaprive and preventive
PDF
The Digital Engine Room: Unlocking APAC’s Economic and Digital Potential thro...
PDF
TicketRoot: Event Tech Solutions Deck 2025
ment.tech-How to Develop an AI Agent Healthcare App like Sully AI (1).pdf
The Basics of Artificial Intelligence - Understanding the Key Concepts and Te...
Revolutionizing recommendations a survey: a comprehensive exploration of mode...
Domain-specific knowledge and context in large language models: challenges, c...
1_Keynote_Breaking Barriers_한계를 넘어서_Charith Mendis.pdf
Ebook - The Future of AI A Comprehensive Guide.pdf
From Curiosity to ROI — Cost-Benefit Analysis of Agentic Automation [3/6]
Introduction to c language from lecture slides
Rooftops detection with YOLOv8 from aerial imagery and a brief review on roof...
Examining Bias in AI Generated News Content.pdf
Introduction-to-Artificial-Intelligence (1).pptx
ELLIE29.pdfWETWETAWTAWETAETAETERTRTERTER
From XAI to XEE through Influence and Provenance.Controlling model fairness o...
Intravenous drug administration application for pediatric patients via augmen...
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...
Altius execution marketplace concept.pdf
Secure Java Applications against Quantum Threats
maintenance powerrpoint for adaprive and preventive
The Digital Engine Room: Unlocking APAC’s Economic and Digital Potential thro...
TicketRoot: Event Tech Solutions Deck 2025

Ionic framework

  • 1. 21.12.2015 Yusuf Koraman - Software Architecture
  • 2. Native / Web / Hybrid  Native ? Web ? Hybrid ?  Most popular Hybrid frameworks ?  IONIC Framework (What ? When ? Why? )  Ionic Setup(NodeJS & Cordova & Ionic & Emulator)  IDEs  CLI  Ionic Apps & IONIC Creator & IONIC View  Sample Project  Sample Api & Sample IONIC Project  Workshop  QUESTIONS?
  • 3. Native / Web / Hybrid
  • 6. Popular Hybrid Frameworks • http://noeticforce.com/best-hybrid-mobile-app-ui-frameworks-html5-js-css • http://tutorialzine.com/2015/10/comparing-the-top-frameworks-for-building- hybrid-mobile-apps/
  • 7. IONIC Framework • HTML5, AngularJS, Cordova(PhoneGap) • Ionic is a complete open-source SDK for hybrid mobile app development. Built on top of AngularJS and Apache Cordova, Ionic provides tools and services for developing hybrid mobile apps using Web technologies like CSS, HTML5, and Sass. Apps can be built with these Web technologies and then distributed through native app stores to be installed on devices by leveraging Cordova. Ionic was created by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013, and is used by software developers around the World • Why?  Performance obsessed,Angular & Ionic  Native focused  Beautifully designed  A powerful CLI  Fun to learn  Min. DOM Manupulation  Model bindings. (AngularJS)  Documentation  Extentable html & HTML5
  • 9. IONIC - Structure  config parts  package.json lists the used NodeJS modules  bower.json lists the used Bower packages  config.xml has all the properties for your created cordova project  gulpfile.js describes GulpJS build tasks Below files are the base for your Ionic project. They are not very different to any other AngularJS application you might have seen. Additional you have some folders:  hooks/ Not that important in the beginning,contains scripts which run at specific points of the workflow.  plugins/ your installed cordova plugins  www/ this is where the magic happens!
  • 10.  SASS(Sysntactically Awesome Style Sheet) - .scss IONIC - Structure
  • 11. IONIC - Structure  SASS(Sysntactically Awesome Style Sheet) - .scss
  • 12. Multi Platform & IONIC How to change displays for platforms?
  • 13. IONIC Setup • Node.js • NPM(Node Package Manager)  Node.js  Jdk  JAVA_HOME’key i =jkd path (Environment settings)  npm install -g cordova (Cordova Installation)  npm install -g ionic (Ionic Installation)
  • 15. IDEs  Android Studio  Ionic Plugin  Visual Studio  Vs 2013 & Service Pack 1  IONIC Templates on nuget  Visual Studio 2015 & Cordova Scripts  Notepad ++  SublimeText 2  IONIC plugin Etc.
  • 16. CLI
  • 17. CLI  İonic start [uygulama adı] [varsa template adı]  https://creator.ionic.io/app/dashboard/projects  ionic start [appName] creator:93469cfcdff8
  • 18. CLI  İonic start AppName TemplateName  cd myApp  ionic platform add ios | ionic platform add android  ionic build ios | ionic build android  ionic emulate android | ionic emulate ios  İonic serve kendisi bir host açar.  İonic run > bağlı olan cihazda uygulamayı acar.
  • 19. Ionic Apps & View & Creator  https://apps.ionic.io/apps  https://creator.ionic.io/

Editor's Notes

  • #2: NOTLAR BURAYA!!!
  • #6: Hibrit uygulamalar, native uygulamalar içerisinde host ediliyor. WebView içeren bir native uygulama oluşuyor. Full screen çalışan bir browser gibi düşünülebilir. Hibrit uygulamalar, html,css,js kullanılarak yazılır. Mobile browser yerine WebView’da host edilir. (Native container içerisinde bulunan bir webview) Native olmasından kasıt, kabuk. Kabuk native ve download edilip cihaza kuruluyor. İçerisinde ama html kodları vs barındırıyor. Apache cordova (Phonegap) cihaza erişmek için kullanılıyor. Cihaza erişim vs yapılacaksa cordovaya ihtiyac var. Uygulamayı derlemek için kullanılır. Native hale getirir. CORDOVACORDOVA(PHONEGAP) Nitobi diye bir firma tarafından geliştirilmiş. IOS(7),Android(4.1),Blackbery,Symbian,Bado,Windows Phone 7 gibi pek çok mobil platform için native uygulama geliştirilebiliyor. UserInterface’i bir webView’dir. %32lik pay ile piyasada lider. HTML5’in gücünü kullanarak sistem kaynaklarına erişmek teorik olarak bir dereceye kadar mümkün. Cordova bu işlemi yaparken native uygulama içerisinden erişim yetkilerini alarak HTML%’e aktarıyor. APK; Bir tane activity oluşturuyor. Onun tek yaptığı bir html dosyası render etmek. Açık kaynak kod. Ücretsiz. NPM ile indirilip kurulabiliyor. NODEJS ile.
  • #8: ANGULAR.JS Performans için tercih edilmiş. Ionic içerisinde JQUERY kullanılmamış. JQUERY en çok dom manipulasyonu için kullanıyoruz. IONIC’te angularjs kullanarak dom manupulasyonu en aza indirgenmiş bu da performansı arttırıyor. IONIC Jquery kullanmıyor. Kullansayda zamanla kodun okunurluğu azalıyor olacaktı. Bir de mesela ekrandaki bir kontrolün visibilitysini değiştirmek için JQUERY kullanmaya gerek var mı? Angular ile cok daha basit şekilde halledilebiliyor. AngularJs ile gelen directive’ler var. Bunlar sayesinde html’e yeni etiketler(tagler) veya attributeslar eklemek mümkün. Yani extended html sağlıyor. Angular ile unit test de yazılabilir. Dokumantasyonu da bol. Az kod çok iş. Dom manupulasyonları büyük oranda templatelerde, scriptler templatelerde,bu sebepten çok fazla script kodu yazmaya gerek kalmıyor. Genelde temiz ekranlar ortaya çıkıyor. Açık kaynak ve hızlı gelişiyor. Two way binding özelliği mevcut. Script tarafında bir şey değiştirince html tarafı da değişebiliyor yani Aynı şekilde html tarafı değiştiğinde script içerisindeki data da değişiyor. Kendilerine MVW demişler. (MV Where ever).? Route modulu ile sayfa yönetimi kolaylaşıyor. Ionic Angular Web’in route modulunu kullanıyor.
  • #9: IONIC FRAMEWORK Natice görünümlü mobile uygulamalar yapmamızı sağlar. Custom css ekleyebiliriz. Uygulama ikonunu platforma göre config.xml dosyasından değiştirebiliriz. Config xml dosyasını gösterelim.
  • #11: CSS / SASS: .scss uzantılı dosyalardır. Custom css oluşturmak için kullanılır. Sass = Sysntactically Awesome Style Sheet Css ve Css3 stil kodları yazmamıza yardımcı ve bunları dinamik olarak derlememizi sağlayan ruby gemdir. (Ruby dili ile yazılıyor.) Amaç : Css kodlarını yeniden kullanılabilir yapmak. CSS’de bulunmayan variables tanılama, css kodlarını parametrik olarak çalışabilir parçalara bölmek, başka bir css tanımlamasından miras(inherit) almak için kullanılır. Önce ruby kuruyoruz. Style.css uzantısını scss olarak değiştirir. Style.scss den style.css i dinamik olarak derlemesini saglar.
  • #13: IONIC FRAMEWORK : Open source sdk’dir. Dokumantasyonu iyi. Templateleri dinamik olarak yükleyebiliyor. Controllerlar vs aynı, logic ortak ama görünüm farklı kılınabiliyor. Platform custumization yapabilirsiniz veya dynamic template kullanabilirsiniz. Platformlar, ionic otomatik olarak cihaza göre body platform ekliyormuş. Mesela ios devicelar için platform-ios,gibi. Angular js kullanarak da sayfaları farklılaştırabiliriz.
  • #16: Visual studio 2013 ‘de sercive pack 1 kurmak gerekiyor. Visual studio için nugate’den IONIC Template indirilebilir Visual studio 2015 ile cordova projesi olarak vs. geliyor. Bu platformlarda da yazılabilir. Biz Android studio üzernde çalıştık. Sebebimiz ise, emulatorlerı vs yonetmesi kolay, sdk’lar hazır geldiği için istediğimiz target’da yüklemeleri yapabiliyoruz. Hangi emulatorde calişacağı dosya içerisinde yazıyor. Cordova configlerinde olmalı. Target olarak yazdığımızda göreceğiz. Aynı şekilde ilgili target’ın kurulu olup olmadığını gösterebiliriz. Target uygun değilse emulatorde de acamayacaktır. Başlangıc sayfasının adı illa index olmak zorunda değil. Config.xml içerisinden bunu ayarlayabiliriz.
  • #18: IONIC’te web socket de kullanılabiliyormuş. Bunun için plugin gerekecek. IONIC Bootstrap kullanmıyor. Kendi css classlarını kullanıyor.. Böylece bootsrapten daha hızlı çalışmasını sağlıyor. Daha native bir görüntü saglıyor. Bootstrap yok ama sonradan eklenebilir. Custom.css gibi.
  • #21: SORU : Neden <ion-xxx gibi directive’ler kullanıyoruz? CEVAP : Bunlar aslında directive’ler. Pure html’e yeni yeni özelliikler kazandırılmış halleri. İonic- js dosyası içerisinden örnek directiveleri gösterebiliriz. Ayrıca map için yazdığımız directiveleri gösterebiliriz. SORU : İç içe birden fazla proje olabilir mi? CEVAP : Evet olabilir, singular demek tek bir index olması manasına gelmesin. İç içe farklı moduller de olabilir. Örnek var gösterebiliriz. SORU : Folder isimleri zorunlu mu? CEVAP : Değiştirilebilir. Ama mesela template folderı değiştirildiğinde emulatorda patlıyor ama browserda gösteriyor.