Kirin is a cross-platform toolkit for building mobile apps that allows writing UI code in native languages but business logic in JavaScript. It provides device APIs, a Node.js-like environment, and tools to help native and JavaScript developers work together, including an interface description language to define protocols between native and JavaScript code for type-safe calling between the two. Kirin aims to combine the best of native development with the productivity of JavaScript.
125 고성능 web view-deview 2013 발표 자료_공유용NAVER D2
The document discusses ways to improve the performance of hybrid mobile applications that use WebView. It describes how WebView has less powerful capabilities and worse web standard compatibility compared to mobile browsers. This can cause issues like fragmentation across device versions.
The document proposes techniques for creating a high-performance WebView, including adding new capabilities like WebSockets, and replacing slower native elements like Canvas 2D with optimized custom implementations. It provides code examples for calling JavaScript from native and vice versa on Android and iOS. Lessons learned emphasize minimizing native/JavaScript communication and dealing with threading issues.
Philip Shurpik "Architecting React Native app"Fwdays
React Native становится все более зрелым фреймворком для создания кросс платформенных мобильных приложений. Доклад основан на нашем опыте создания production приложения - от архитектуры до тестирования и CI.
Рассмотрим вопрос переиспользования кода при разработке для разных платформ- что и сколько процентов можно переиспользовать и как этого достичь.
Поговорим о том, как можно очень просто сделать offline-first приложение для чтения и создания данных. И чем нам в этом могут помочь Redux и Redux persist.
Разберем, как максимально просто сделать навигацию в приложении.
И, конечно же, какое production приложение без тестирования и continuous integration? Рассмотрим компонентное тестирование с Enzyme и интеграционное с Appium. А также, как максимально приблизить процесс deploy к тому, чему мы привыкли в web, с помощью CodePush.
Tony Parisi is a serial entrepreneur and consultant architect who has authored a book on WebGL. He provides an overview of using WebGL for game development, including what WebGL is, popular frameworks like Three.js, techniques for loading models, animating scenes, implementing interaction, creating particle systems, and integrating 2D and 3D. He also discusses considerations for making WebGL games robust and putting all the pieces together.
High Performance JavaScript - WebDirections USA 2010Nicholas Zakas
This document summarizes Nicholas C. Zakas' presentation on high performance JavaScript. It discusses how the browser UI thread handles both UI updates and JavaScript execution sequentially. Long running JavaScript can cause unresponsive UIs. Techniques to ensure responsive UIs include limiting JavaScript execution time, using timers or web workers to break up processing, reducing repaints and reflows, and grouping style changes. Hardware acceleration and optimizing JavaScript engines have improved performance but responsive UIs still require discipline.
DroidCon UK 2015 was a conference held in London, England on September 12, 2015. It focused on supporting the Android platform and creating a global network for Android developers and companies. Over 50 sessions were presented on topics like Android development, Gradle, RxJava, Kotlin and more. The agenda included talks on Android for Java developers, meaningful motion, mobile services from Google, Gradle performance, the Jack and Jill build system, and RxJava/RxAndroid.
Григорий Шехет "Treasure hunt in the land of Reactive frameworks"Fwdays
Мне нравится использовать React. Данная библиотека – отличное решение для многих задач, так как она не навязывает конкретный паттерн или архитектуру. Разработчик сам решает что лучше для той или иной ситуации.
Существует множество уже готовых архитектурных решений. Большинство выбирает Redux. Существует множество библиотек использующее идеи FRP, например Calmm или MobX. Как результат, получаем много подходов, решающие одну и туже задачу.
В своем докладе хочу поговорить о различных архитектурных решениях, посмотреть на плюсы и минусы той или иной библиотеки, и прийти к консенсусу.
- The document discusses various topics around testing Android applications such as creating test projects, different types of tests (unit, integration, UI, etc.), testing frameworks like JUnit, using annotations, running and debugging tests.
- It provides an overview of key concepts and tools required for testing including testing on emulators and real devices, using mocks, assertions and view assertions in tests.
- The document demonstrates how to structure tests, write test cases with different assertions and annotations, and debug issues by running tests in Eclipse and from the command line.
Even though widget libraries for GWT exist, it’s sometimes necessary to create a widget on your own. Widget creation will confront you with challenges like GWT specifics or the way browsers work.
Participants will learn how to compose existing widgets as well as creating new ones based on DOM elements. As it is important to know how browsers behave, topics like DOM API, reflows and event propagation will be explained. But there are also GWT specific aspects, like important interfaces and classes or how to prevent code injection.
125 고성능 web view-deview 2013 발표 자료_공유용NAVER D2
The document discusses ways to improve the performance of hybrid mobile applications that use WebView. It describes how WebView has less powerful capabilities and worse web standard compatibility compared to mobile browsers. This can cause issues like fragmentation across device versions.
The document proposes techniques for creating a high-performance WebView, including adding new capabilities like WebSockets, and replacing slower native elements like Canvas 2D with optimized custom implementations. It provides code examples for calling JavaScript from native and vice versa on Android and iOS. Lessons learned emphasize minimizing native/JavaScript communication and dealing with threading issues.
Philip Shurpik "Architecting React Native app"Fwdays
React Native становится все более зрелым фреймворком для создания кросс платформенных мобильных приложений. Доклад основан на нашем опыте создания production приложения - от архитектуры до тестирования и CI.
Рассмотрим вопрос переиспользования кода при разработке для разных платформ- что и сколько процентов можно переиспользовать и как этого достичь.
Поговорим о том, как можно очень просто сделать offline-first приложение для чтения и создания данных. И чем нам в этом могут помочь Redux и Redux persist.
Разберем, как максимально просто сделать навигацию в приложении.
И, конечно же, какое production приложение без тестирования и continuous integration? Рассмотрим компонентное тестирование с Enzyme и интеграционное с Appium. А также, как максимально приблизить процесс deploy к тому, чему мы привыкли в web, с помощью CodePush.
Tony Parisi is a serial entrepreneur and consultant architect who has authored a book on WebGL. He provides an overview of using WebGL for game development, including what WebGL is, popular frameworks like Three.js, techniques for loading models, animating scenes, implementing interaction, creating particle systems, and integrating 2D and 3D. He also discusses considerations for making WebGL games robust and putting all the pieces together.
High Performance JavaScript - WebDirections USA 2010Nicholas Zakas
This document summarizes Nicholas C. Zakas' presentation on high performance JavaScript. It discusses how the browser UI thread handles both UI updates and JavaScript execution sequentially. Long running JavaScript can cause unresponsive UIs. Techniques to ensure responsive UIs include limiting JavaScript execution time, using timers or web workers to break up processing, reducing repaints and reflows, and grouping style changes. Hardware acceleration and optimizing JavaScript engines have improved performance but responsive UIs still require discipline.
DroidCon UK 2015 was a conference held in London, England on September 12, 2015. It focused on supporting the Android platform and creating a global network for Android developers and companies. Over 50 sessions were presented on topics like Android development, Gradle, RxJava, Kotlin and more. The agenda included talks on Android for Java developers, meaningful motion, mobile services from Google, Gradle performance, the Jack and Jill build system, and RxJava/RxAndroid.
Григорий Шехет "Treasure hunt in the land of Reactive frameworks"Fwdays
Мне нравится использовать React. Данная библиотека – отличное решение для многих задач, так как она не навязывает конкретный паттерн или архитектуру. Разработчик сам решает что лучше для той или иной ситуации.
Существует множество уже готовых архитектурных решений. Большинство выбирает Redux. Существует множество библиотек использующее идеи FRP, например Calmm или MobX. Как результат, получаем много подходов, решающие одну и туже задачу.
В своем докладе хочу поговорить о различных архитектурных решениях, посмотреть на плюсы и минусы той или иной библиотеки, и прийти к консенсусу.
- The document discusses various topics around testing Android applications such as creating test projects, different types of tests (unit, integration, UI, etc.), testing frameworks like JUnit, using annotations, running and debugging tests.
- It provides an overview of key concepts and tools required for testing including testing on emulators and real devices, using mocks, assertions and view assertions in tests.
- The document demonstrates how to structure tests, write test cases with different assertions and annotations, and debug issues by running tests in Eclipse and from the command line.
Even though widget libraries for GWT exist, it’s sometimes necessary to create a widget on your own. Widget creation will confront you with challenges like GWT specifics or the way browsers work.
Participants will learn how to compose existing widgets as well as creating new ones based on DOM elements. As it is important to know how browsers behave, topics like DOM API, reflows and event propagation will be explained. But there are also GWT specific aspects, like important interfaces and classes or how to prevent code injection.
This document discusses cross-platform game development using HTML5. It begins by introducing Ludei, a company that develops games for iOS and Android using HTML5. It then discusses the benefits of using HTML5 for a single codebase that can run across platforms. However, it notes the current status of HTML5 has limitations due to browser fragmentation and performance issues on mobile. It recommends using a game engine and optimizing resources. Ludei offers a solution that runs games outside the browser for a native-like experience across iOS and Android with tools for monetization, social integration and more.
Introduction to Angular JS by SolTech's Technical Architect, Carlos Muentes.
To learn more about SolTech's custom software and recruiting solution services, visit http://www.soltech.net.
Building Large Scale Javascript ApplicationAnis Ahmad
In recent years a number of libraries for building large JavaScript applications has appeared. As we no longer need to battle DOM differences between browsers we can finally focus on building highly interactive front-end applications instead. But before we can do a good job with these new libraries we need unlearn our previous DOM-centric approach and need to be aware of good practices and patterns of developing modern javascript app.
It will start with jQuery based old style practices and try to discuss on how can we approach to a modular, decoupled, scalable application architecture. This slide was prepared in very short time for technical session series of Digital World 2014 (http://www.digitalworld.org.bd/technical-session). The event video is here - https://www.youtube.com/watch?v=Gpw7l27MUUc (slide was not properly covered in video).
It has taken inspiration, ideas (, even some contents) from the following sources -
* http://addyosmani.com/largescalejavascript/
* http://addyosmani.com/resources/essentialjsdesignpatterns/book/
* https://www.youtube.com/watch?v=vXjVFPosQHw
* https://www.youtube.com/watch?v=qWr7x9wk6_c
* https://speakerdeck.com/kimjoar/patterns-of-large-scale-javascript-applications-1
What Web Developers Need to Know to Develop Windows 8 AppsDoris Chen
You already have a Web app on the Internet and want to reach customers with a new, targeted experience on Windows 8. Come get practical guidance and best practices on how to reuse your Web assets. Come dive into the specifics of this exciting platform and see how you can use your Web skills to build deeply-integrated Windows apps.
◦You’ll discover how this mirrors or differs from traditional Web programming and how to harness the rich capabilities of Windows 8 through JavaScript and the Windows Runtime.
◦You'll learn practical techniques on how to access a web service, how to work with camera, and how to make live tiles, etc.
◦Expect a lot of code and demo.
This session will jump start you with everything you need to know to start building Windows 8 apps with the skills you already have.
High Performance JavaScript - Fronteers 2010Nicholas Zakas
For much of its existence, JavaScript has been slow. No one complained until developers created complex web applications with thousands of lines of JavaScript code. Although newer JavaScript engines have improved the situation, there's still a lot to understand about what makes JavaScript slow and what you can do to speed up your code.
This document summarizes a presentation about React Native given at DroidKaigi 2017. It discusses how React Native allows building native Android and iOS apps using React by rendering UI components to native platform views. It describes how React Native maps React components to native platform views, implements native modules to access platform features, and uses the JavaScript bridge to allow calling native code from JavaScript. It highlights how React Native enables writing once and deploying to both Android and iOS with shared JavaScript code.
This document discusses using multiple programming languages to build hybrid web applications. It describes how the author used Google Web Toolkit (GWT) and JavaScript to build applications, but encountered limitations with GWT. It then introduces Dart as an alternative to GWT that allows better integration with JavaScript through an event bridge pattern. This allows building applications with Dart and JavaScript components communicating through JSON messages. The document argues that a hybrid approach allows using the best languages for different application layers and reusing existing JavaScript libraries.
The document discusses methods for tracking app crashes in mobile applications. It covers basic crash handling techniques, using libraries like ACRA to report crashes to Google Docs, and implementing custom crash tracking using exception handling. OOP principles are recommended for crash tracking code integration to reduce manual work. While crashes cannot always be avoided, tracking crashes is important for improving apps and meeting user expectations.
jQquerysummit - Large-scale JavaScript Application Architecture Jiby John
The document discusses organizing jQuery and JavaScript applications using different patterns and frameworks. It begins by explaining design patterns and their benefits. It then covers using the Model-View-Controller (MVC) pattern with jQuery, providing examples of MVC frameworks. Finally, it discusses other JavaScript patterns for organizing code into reusable modules.
Роман Лютиков "Web Apps Performance & JavaScript Compilers"Fwdays
1) Web app performance can be improved through code splitting techniques that divide JavaScript bundles into smaller chunks to reduce loading time.
2) Compiler optimizations like tree shaking, constant folding, and dead code elimination can help reduce code size and evaluation time by removing unused code.
3) Code splitting libraries like Webpack allow splitting code at the module or route level to preload important chunks and lazily load others on demand to improve performance.
Builda responsivetypescriptwebdriverio frameworkWim Selles
Participate in this workshop to learn how to put together the concepts of a WebdriverIO and TypeScript in a Mocha framework that is scalable, robust, easy to read. We will be sharing our real-time experience of how we migrated our testing approach, design and framework when our application was migrating from javascript to a typescript architecture.
You will leave with your very own example automation framework that demonstrates advanced principles of WebdriverIO using TypeScript automation design. We will integrate with allure reporting.
Dark side of Android apps modularizationDavid Bilík
Slides from mDevCamp 2020 conference
This talk is about modularization of the Android apps. Modularization is a big hot topic in the last couple of years and we've jumped on the train too here at Ackee.
But this talk will not be about rainbows and puppies and about how everything is perfect with modularized app. I would like to talk about darker sides of modularization, the questions that are shady and noone has the right answer for.
Building scalable applications with angular jsAndrew Alpert
This document discusses best practices for organizing AngularJS applications. It recommends organizing files by feature rather than type, with each feature having related HTML, CSS, tests, etc. It also recommends structuring modules to mirror the URL structure and listing submodules as dependencies. The document discusses using services for reusable logic rather than large controllers. It emphasizes writing tests, managing technical debt, following code style guides, and using task runners like Grunt or Gulp to automate tasks.
The document discusses building HTML5 apps. It describes pure web apps that run in browsers and hybrid solutions delivered as native apps. It addresses common myths about HTML5 and covers supported platforms and libraries. It also discusses offline support using application cache and local storage, animation using CSS3 and Canvas, and advanced techniques like WebGL. The document concludes that web technologies are advancing rapidly and hybrid approaches can help migration, though tools still need improvements.
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Ksenija Gogic, TWG
Overview
What are components? How can designers apply a component-minded approach to their workflow? How can we leverage components to improve the design handoff? Ultimately – how can designers and developers work together even better?
Using React as a framework, Ksenija will discuss how to design for a component-based web application to make for a more efficient workflow, an easier design handoff, and a better understanding between roles.
Objective
To create a common language and understanding when working with component-based web frameworks between designers and developers.
Target Audience
Designers and developers looking to make their collaborative workflow even better.
Five Things Audience Members Will Learn
How to take a component-minded approach to building a design system
How to design and create components using Sketch symbols
How to assemble (compose) collections of components using Sketch symbols
How to work with modifiers (props) to customize components
How to ensure everyone is speaking the same language
This document discusses JavaScript frameworks and web components. It provides examples of code for Dojo, Ember, Angular, React, and jQuery. It also discusses the benefits of web components, including that they are part of the DOM, future-proof, and modular. Web components include custom elements, shadow DOM, templates, and HTML imports. Browser support is improving but not yet universal. Polyfills exist to provide support in older browsers. The web components specification has changed from version 0 to version 1 to support ES6 classes.
The Art of AngularJS in 2015 - Angular Summit 2015Matt Raible
Presentation from Angular Summit Keynote in September 2015. http://angularsummit.com/conference/boston/2015/09/session?id=34212
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems.
This document discusses OpenSocial Gadgets in IBM Connections. It provides an overview of OpenSocial standards and IBM's role in driving adoption. It then covers the basics of implementing and deploying OpenSocial Gadgets, including anatomy of a gadget, development tools, and administration. Advanced topics discussed include OpenSocial features, embedded experiences, security best practices, and more.
<p>This presents a framework we built when making the Glastonbury 2011 app for iOS, Android and Qt. We looked at the available options, and found them wanting. </p>
<p>
TL;DR: Javascript app logic, native UI. And we open sourced it.
</p>
<p>And it works. The Glastonbury 2011 app was well received, featured in the app stores we released for, and is now winning awards.</p>
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularTodd Anglin
Do you want to build native mobile apps for iOS and Android? Are you a web developer? Then NativeScript is the perfect framework for you. NativeScript is an open source framework for creating native mobile apps using the skills of the web developer: JavaScript, CSS and simple tag-based markup. Create rich, high-performance iOS and Android apps with 100% native UI using many of the skills you already have.
Topics covered include:
NativeScript framework core concepts and getting started
Accessing native device capabilities with JavaScript
Building native mobile apps with Angular 2
Common app patterns (login, settings, data bound list and more)
Styling NativeScript with CSS
Targeting specific devices and screens
Debugging and deploying to devices
There has never been a better (and easier) way for web developers to create native mobile apps.
This document discusses cross-platform game development using HTML5. It begins by introducing Ludei, a company that develops games for iOS and Android using HTML5. It then discusses the benefits of using HTML5 for a single codebase that can run across platforms. However, it notes the current status of HTML5 has limitations due to browser fragmentation and performance issues on mobile. It recommends using a game engine and optimizing resources. Ludei offers a solution that runs games outside the browser for a native-like experience across iOS and Android with tools for monetization, social integration and more.
Introduction to Angular JS by SolTech's Technical Architect, Carlos Muentes.
To learn more about SolTech's custom software and recruiting solution services, visit http://www.soltech.net.
Building Large Scale Javascript ApplicationAnis Ahmad
In recent years a number of libraries for building large JavaScript applications has appeared. As we no longer need to battle DOM differences between browsers we can finally focus on building highly interactive front-end applications instead. But before we can do a good job with these new libraries we need unlearn our previous DOM-centric approach and need to be aware of good practices and patterns of developing modern javascript app.
It will start with jQuery based old style practices and try to discuss on how can we approach to a modular, decoupled, scalable application architecture. This slide was prepared in very short time for technical session series of Digital World 2014 (http://www.digitalworld.org.bd/technical-session). The event video is here - https://www.youtube.com/watch?v=Gpw7l27MUUc (slide was not properly covered in video).
It has taken inspiration, ideas (, even some contents) from the following sources -
* http://addyosmani.com/largescalejavascript/
* http://addyosmani.com/resources/essentialjsdesignpatterns/book/
* https://www.youtube.com/watch?v=vXjVFPosQHw
* https://www.youtube.com/watch?v=qWr7x9wk6_c
* https://speakerdeck.com/kimjoar/patterns-of-large-scale-javascript-applications-1
What Web Developers Need to Know to Develop Windows 8 AppsDoris Chen
You already have a Web app on the Internet and want to reach customers with a new, targeted experience on Windows 8. Come get practical guidance and best practices on how to reuse your Web assets. Come dive into the specifics of this exciting platform and see how you can use your Web skills to build deeply-integrated Windows apps.
◦You’ll discover how this mirrors or differs from traditional Web programming and how to harness the rich capabilities of Windows 8 through JavaScript and the Windows Runtime.
◦You'll learn practical techniques on how to access a web service, how to work with camera, and how to make live tiles, etc.
◦Expect a lot of code and demo.
This session will jump start you with everything you need to know to start building Windows 8 apps with the skills you already have.
High Performance JavaScript - Fronteers 2010Nicholas Zakas
For much of its existence, JavaScript has been slow. No one complained until developers created complex web applications with thousands of lines of JavaScript code. Although newer JavaScript engines have improved the situation, there's still a lot to understand about what makes JavaScript slow and what you can do to speed up your code.
This document summarizes a presentation about React Native given at DroidKaigi 2017. It discusses how React Native allows building native Android and iOS apps using React by rendering UI components to native platform views. It describes how React Native maps React components to native platform views, implements native modules to access platform features, and uses the JavaScript bridge to allow calling native code from JavaScript. It highlights how React Native enables writing once and deploying to both Android and iOS with shared JavaScript code.
This document discusses using multiple programming languages to build hybrid web applications. It describes how the author used Google Web Toolkit (GWT) and JavaScript to build applications, but encountered limitations with GWT. It then introduces Dart as an alternative to GWT that allows better integration with JavaScript through an event bridge pattern. This allows building applications with Dart and JavaScript components communicating through JSON messages. The document argues that a hybrid approach allows using the best languages for different application layers and reusing existing JavaScript libraries.
The document discusses methods for tracking app crashes in mobile applications. It covers basic crash handling techniques, using libraries like ACRA to report crashes to Google Docs, and implementing custom crash tracking using exception handling. OOP principles are recommended for crash tracking code integration to reduce manual work. While crashes cannot always be avoided, tracking crashes is important for improving apps and meeting user expectations.
jQquerysummit - Large-scale JavaScript Application Architecture Jiby John
The document discusses organizing jQuery and JavaScript applications using different patterns and frameworks. It begins by explaining design patterns and their benefits. It then covers using the Model-View-Controller (MVC) pattern with jQuery, providing examples of MVC frameworks. Finally, it discusses other JavaScript patterns for organizing code into reusable modules.
Роман Лютиков "Web Apps Performance & JavaScript Compilers"Fwdays
1) Web app performance can be improved through code splitting techniques that divide JavaScript bundles into smaller chunks to reduce loading time.
2) Compiler optimizations like tree shaking, constant folding, and dead code elimination can help reduce code size and evaluation time by removing unused code.
3) Code splitting libraries like Webpack allow splitting code at the module or route level to preload important chunks and lazily load others on demand to improve performance.
Builda responsivetypescriptwebdriverio frameworkWim Selles
Participate in this workshop to learn how to put together the concepts of a WebdriverIO and TypeScript in a Mocha framework that is scalable, robust, easy to read. We will be sharing our real-time experience of how we migrated our testing approach, design and framework when our application was migrating from javascript to a typescript architecture.
You will leave with your very own example automation framework that demonstrates advanced principles of WebdriverIO using TypeScript automation design. We will integrate with allure reporting.
Dark side of Android apps modularizationDavid Bilík
Slides from mDevCamp 2020 conference
This talk is about modularization of the Android apps. Modularization is a big hot topic in the last couple of years and we've jumped on the train too here at Ackee.
But this talk will not be about rainbows and puppies and about how everything is perfect with modularized app. I would like to talk about darker sides of modularization, the questions that are shady and noone has the right answer for.
Building scalable applications with angular jsAndrew Alpert
This document discusses best practices for organizing AngularJS applications. It recommends organizing files by feature rather than type, with each feature having related HTML, CSS, tests, etc. It also recommends structuring modules to mirror the URL structure and listing submodules as dependencies. The document discusses using services for reusable logic rather than large controllers. It emphasizes writing tests, managing technical debt, following code style guides, and using task runners like Grunt or Gulp to automate tasks.
The document discusses building HTML5 apps. It describes pure web apps that run in browsers and hybrid solutions delivered as native apps. It addresses common myths about HTML5 and covers supported platforms and libraries. It also discusses offline support using application cache and local storage, animation using CSS3 and Canvas, and advanced techniques like WebGL. The document concludes that web technologies are advancing rapidly and hybrid approaches can help migration, though tools still need improvements.
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Ksenija Gogic, TWG
Overview
What are components? How can designers apply a component-minded approach to their workflow? How can we leverage components to improve the design handoff? Ultimately – how can designers and developers work together even better?
Using React as a framework, Ksenija will discuss how to design for a component-based web application to make for a more efficient workflow, an easier design handoff, and a better understanding between roles.
Objective
To create a common language and understanding when working with component-based web frameworks between designers and developers.
Target Audience
Designers and developers looking to make their collaborative workflow even better.
Five Things Audience Members Will Learn
How to take a component-minded approach to building a design system
How to design and create components using Sketch symbols
How to assemble (compose) collections of components using Sketch symbols
How to work with modifiers (props) to customize components
How to ensure everyone is speaking the same language
This document discusses JavaScript frameworks and web components. It provides examples of code for Dojo, Ember, Angular, React, and jQuery. It also discusses the benefits of web components, including that they are part of the DOM, future-proof, and modular. Web components include custom elements, shadow DOM, templates, and HTML imports. Browser support is improving but not yet universal. Polyfills exist to provide support in older browsers. The web components specification has changed from version 0 to version 1 to support ES6 classes.
The Art of AngularJS in 2015 - Angular Summit 2015Matt Raible
Presentation from Angular Summit Keynote in September 2015. http://angularsummit.com/conference/boston/2015/09/session?id=34212
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems.
This document discusses OpenSocial Gadgets in IBM Connections. It provides an overview of OpenSocial standards and IBM's role in driving adoption. It then covers the basics of implementing and deploying OpenSocial Gadgets, including anatomy of a gadget, development tools, and administration. Advanced topics discussed include OpenSocial features, embedded experiences, security best practices, and more.
<p>This presents a framework we built when making the Glastonbury 2011 app for iOS, Android and Qt. We looked at the available options, and found them wanting. </p>
<p>
TL;DR: Javascript app logic, native UI. And we open sourced it.
</p>
<p>And it works. The Glastonbury 2011 app was well received, featured in the app stores we released for, and is now winning awards.</p>
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularTodd Anglin
Do you want to build native mobile apps for iOS and Android? Are you a web developer? Then NativeScript is the perfect framework for you. NativeScript is an open source framework for creating native mobile apps using the skills of the web developer: JavaScript, CSS and simple tag-based markup. Create rich, high-performance iOS and Android apps with 100% native UI using many of the skills you already have.
Topics covered include:
NativeScript framework core concepts and getting started
Accessing native device capabilities with JavaScript
Building native mobile apps with Angular 2
Common app patterns (login, settings, data bound list and more)
Styling NativeScript with CSS
Targeting specific devices and screens
Debugging and deploying to devices
There has never been a better (and easier) way for web developers to create native mobile apps.
Android Classes In Mumbai
best android classes in mumbai with job assistance.
our features are:
expert guidance by it industry professionals
lowest fees of 5000
practical exposure to handle projects
well equiped lab
after course resume writing guidance
React Native is slowly becoming the preferred choice for developing mobile applications. If you are already a web developer, you will find that most of the principles of coding remain the same as it uses the same design as React. But the development flow might feel a bit overwhelming for someone who is creating a React Native app for the first time.
In this talk, I will describe the various tools and methods that can simplify your development workflow. I will talk about the whys and hows of debugging, performance optimizations and improved release cycles so that the next time you are developing a React Native application, you feel at home.
Although Web and mobile apps are getting more capable every day, often your application makes the most sense on the desktop. In this talk, we’ll look at some recent technologies that have allowed significant desktop apps — like Barnes & Noble’s NOOK Study e-textbook reader, or Adobe’s Brackets IDE — to be written in HTML5 and JavaScript. Projects like the Chromium Embedded Framework, node-webkit, and AppJS provide an excellent native-to-JS bridge. With them in hand, you can bring the full power of the Node.js and front-end ecosystems to bear, while still gaining the advantages of running as a native app.
The document discusses several new features in Android N including multi-window support that allows split screen and picture-in-picture modes, improved notifications, direct reply functionality, custom quick settings tiles, scoped storage access, and runtime improvements for faster performance and Java 8 language features. It also mentions new developer previews of Instant Apps and the upcoming release date of Android N.
This document provides an overview and introduction to the webOS platform. It discusses the webOS architecture including application architecture using stages and scenes. It covers building a basic "Destroy World" app using the command line tools. It also discusses the webOS emulator, advanced APIs like camera, storage and accelerometer access. Finally it discusses submitting apps to the webOS app catalog and a promotion for hot new apps.
This document discusses using NativeScript and Angular 2 together to build native mobile apps with a single JavaScript codebase. NativeScript allows writing native iOS and Android apps in JavaScript while providing access to native APIs. Angular 2 is decoupled from the DOM, enabling its use in mobile apps. Together NativeScript and Angular 2 allow leveraging Angular's framework on mobile while using native UI elements and layouts. Examples demonstrate creating an alert dialog in NativeScript alone and with Angular 2. The document encourages trying sample apps and learning more resources.
This is a presentation about mobile apps testing using Appium. The presentation conrtains tips on comprehensive testing of apps written for various devices and platforms.
Presentation by Yaroslav Pernerovskyy (Lead Test Engineer, GlobalLogic, Kyiv), delivered at UA Mobile, November 22, 2014.
More details - http://uamobile.org
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...Matt Spradley
1) The document describes how the author built a mobile electronic health record app using Xamarin, Angular, and Web API.
2) They used Angular for the web UI and Xamarin for native platform capabilities. A JavaScript bridge was used to connect the two.
3) Azure Service Bus Relay was employed to allow communication with on-premise servers despite network restrictions. This demonstrated good performance.
This document provides information about a mobile developer position at eBuddy, a messaging app with 30 million monthly users and employees of 26 nationalities. It outlines the company's technologies including Maven, Ant, and testing frameworks. It describes responsibilities like building automated processes, open source contributions, and personal projects that last one sprint duration. The document emphasizes best practices for code quality, testing, dependency injection, analytics, and continuous integration.
This document discusses how to take mobile application tests to the next level using continuous integration (CI). It covers challenges with mobile testing in CI, basics of Android and iOS setup, popular automation tools like MonkeyRunner and Sikuli, and demonstrates how to run mobile tests in CI. The session provides tips for configuring emulators and simulators, installing and launching apps, and executing tests on Android and iOS. It also compares instrumentation and non-instrumentation test techniques and popular mobile test automation tools.
This document discusses an Android GUI project. It provides an overview of Android basics, development, and UI. Key points include:
- Android uses Linux kernel, apps written in Java and run on Dalvik VM.
- Standard development environment is Eclipse + Android SDK + emulator or device.
- The project will develop an Android UI for an existing Goats and Tigers board game implementation, reusing backend code.
Being Epic: Best Practices for Android DevelopmentReto Meier
This document provides best practices for Android development. It discusses five "deadly sins" to avoid: sloth (being slow and unresponsive), gluttony (using system resources irresponsibly), hostility (fighting users), arrogance (fighting the system), and discrimination. It also discusses five "glorious virtues" to embrace: beauty (design), generosity (sharing), ubiquity (being everywhere), utility (being useful), and epicness (being legendary). It covers topics like performance, wake locks, navigation, preferences, undocumented APIs, screen sizes, analytics, background updates, location services, and more. The overall message is to create high-quality, useful apps that respect users and system resources.
This document provides an introduction and overview of libGDX, a framework for building cross-platform games in Java. It discusses libGDX's capabilities for 2D and 3D games on Android, desktop, HTML5 and iOS. It also covers libGDX's project structure, compiling with Gradle, starter classes for different platforms like Android and desktop, logging app lifecycles, important libGDX modules, and loading assets.
This document provides an introduction and overview of libGDX, a framework for building cross-platform games in Java. It discusses libGDX's capabilities for 2D and 3D games on Android, desktop, HTML5 and iOS. It also covers project structure, starter classes, asset loading, common modules like audio, graphics and input, and testing and logging on Android. The document is intended to help developers get started with building Android games using libGDX.
Overview for the possibilities when it comes to developing an application for the android platform. The slides start with covering the native option, continutes with covering the hybrid option and concludes with comparing between the two.
More information about the Android course I deliver can be found at android.course.lifemichael.com
The document discusses barriers to entry in iPhone programming including Objective C syntax, Xcode development tools, and perceptions of iPhone apps. It covers important concepts like memory management, frameworks, view lifecycles, unit and functional testing, and concerns for persistence, performance, resolutions and network dropouts. Sample code is provided for defining a class interface and implementation including properties and initialization.
Similar to Kirin - Making Single Page Web Apps with a Native UI (20)
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
12. Titanium
• Designers won’t like:
• UI APIs are always playing catchup
• Trust Titanium to make the right
choices for platform specificity
• Users won’t like:
• JS engine per app
@jhugman
13. Kirin
• Native SDKs. It may be hard to learn.
• Very lightweight
• The whole SDK is there, all the time.
• Use existing JS Engine.
@jhugman
15. Architecture of
Participation
• “the nature of systems
that are designed for
user contribution”
• Tim O’Reilly, 2004
@jhugman
16. Design Principles
• Provide a node.js like environment
• Bind native objects to Javascript
• Help teams work together
• Get out of your way
@jhugman
17. Design Principles
• A node.js like environment
• Bind native objects to Javascript
• Help teams work together
• Get out of your way
@jhugman
18. Common JS modules
• Arrange your code into files
• Each “module” has its own variable
scope
• require() and exports link
modules together
@jhugman
19. Common JS/Modules
In lib/greeter.js
exports.greet = function (person) {
console.log(“Hello ” + person);
};
In lib/entry.js
var greeter = require(“./greeter”);
greeter.greet(“World”); // prints Hello World to console
@jhugman
20. npm:
node.js package manager
• Distributes your library
• Manages your dependencies
• 10,000+ packages available
@jhugman
27. A Typical Kirin App
Native screen
Javascript
screen module
Controller
Model Your app
Device API
Device Access
@jhugman
28. Not just for screens
Custom UI
Screen UI Fragment
component
Javascript Javascript Javascript
App Delegate Service
Javascript Javascript
Javascript API Javascript API
Third Party API +
Device API
UI
@jhugman
29. Consider this JS:
// called from native screen.
exports.importantButtonClicked = function (value) {}
@jhugman
30. Calling Javascript. Part I
public void onUiButtonClick() {
mKirinHelper.jsMethod("importantButtonClicked", 42);
}
- (IBAction) onUiButtonClick: (id) sender {
[self.kirinHelper
jsMethod: @“importantButtonClicked”
withArgs: [NSNumber numberWithInt:42]
];
}
@jhugman
33. Lifecycles in Javascript
var theScreen;
module.exports = {
onLoad: function (ui) {
theScreen = ui;
},
onUnload: function () {
theScreen = null;
},
// applicable called at viewWillAppear
onResume: function () {},
// called by viewWillDisappear
onPause: function () {},
};
@jhugman
34. Lifecycles with objects
function MyScreenModule () {
this.screen = null;
}
module.exports = MyScreenModule;
MyScreenModule.prototype.onLoad = function (ui) {
this.screen = ui;
};
MyScreenModule.prototype.onUnload = function () {
this.screen = null;
};
// applicable called at viewWillAppear
MyScreenModule.prototype.onResume = function () {};
// called by viewWillDisappear
MyScreenModule.prototype. onPause = function () {};
@jhugman
35. Android Lifecycles
public class MyScreenActivity extends KirinActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_screen);
bindScreen("MyScreenModule");
}
}
@jhugman
38. Extensions
• Device access e.g.
• app-preferences
• dev-networking-alpha
• app-databases-alpha
• May include a UI e.g.:
• Twitter, Facebook, Address Book
@jhugman
39. Extension access
• Exposed only to Javascript
• Can be written in JS, Native or a
combination of both
• May have a full-screen or popover UI
var prefs = require(“app-preferences”),
url = prefs.get(“imageServerUrl”);
// applicable called at viewWillAppear
prefs.put(“lastSuccessfulPoll”, Date.now());
• theScreen
prefs.commit();
@jhugman
41. Transparent threading
• You don’t have to know this:
• Extensions run in a thread pool
• JS engine runs in its own thread
• Responsive UI Thread.
@jhugman
42. Design Principles
• A node.js like environment
• Bind native objects to Javascript
• Help teams work together
• Get out of your way
@jhugman
43. Conway’s Law
• “...organizations which design
systems ... are constrained to produce
designs which are copies of the
communication structures of these
organizations.”
• Melvin Conway 1968
@jhugman
44. Native devs value:
• compilers doing work for them
• IDEs doing work for them
• build tools doing work for them
@jhugman
45. Javascript devs value:
• Rapid prototyping and development
• Expressive language constructs
• Garbage collection
@jhugman
50. Calling Native. Part II
In MyScreenModule.js
var theScreen;
function updateUi (data) {
theScreen.displayDataAndEnableUi(data, true);
}
In MyScreenViewController.h
- (void) displayData: (id<IMyScreenRequest>) data
andEnableUi: (BOOL) flag;
In MyScreenActivity.java
public void displayDataAndEnableUi(IMyScreenRequest data,
boolean flag);
@jhugman
66. Summary!
• Native apps with node.js goodness
• JS apps with Native UI
• Tools to design APIs between them
• Tools to design APIs for device
access
@jhugman
67. Things we’ve thought of
to do next
• Building out extensions
• Other platforms: Chrome, WP7
• More IDL, docs
@jhugman
- Hard to finish, to a high quality (webkit bugs, fragmentation)\n - UI isn't good enough yet: only imitating native, not performant.\n - UI tends towards one-size-fits all, not platform specific.\n
+ Easy to start. You don't even need CSS or DOM. \n
Catchup: so difficult to style. Your designer won't like this.\n