This document provides an introduction to module development for Android and iOS using Titanium Studio. It discusses creating basic modules that integrate third party libraries. For Android, it demonstrates integrating the Skyhook geolocation SDK. For iOS, it demonstrates integrating the Card.io credit card scanning SDK. The key steps shown include importing libraries, passing credentials to the module, setting up callbacks, making API calls from the module, and returning results. Code samples are provided for the completed Android and iOS modules.
Sitecore development approach evolution – destination helixPeter Nazarov
Sitecore Development Approach Evolution – Destination Helix
Sitecore officially recommended Helix as a set of overall design principles and conventions for Sitecore development around 18 month ago at SUGCON 2016 alongside with an official implementation example - Habitat. Why was it necessary? What are the benefits? Has it worked in practice? Peter Nazarov will share the outlook on why and how a combination of Sitecore Helix and Habitat benefits the business and development users of Sitecore in practice.
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDIMario-Leander Reimer
This talk is a detailed case study about the migration of a JSF-based web application from Spring 3 to Java EE 7 and CDI. It is presented at the JavaOne 2014 conference.
At first sight this didn’t seem to be too difficult. Both technologies are based on similar concepts and provide similar mechanisms for dependency injection (DI). So migrating pure annotation based bean wiring from Spring to CDI was obvious and straight forward.
But the deeper we looked into the source code the more Spring specific code we found with no direct and easy mapping in neither of JEE7, EJB3 or CDI available. Some of the problems and challenges we were confronted with were:
- How to migrate XML based bean wirings?
- How to migrate FactoryBeans?
- How to migrate AspectJ based AOP proxies?
- How to implement Spring profiles for environment based wiring?
- How to implement custom bean scopes?
- How to implement custom Spring XML schema notations and wiring?
- How to migrate code that is built against Spring APIs?
- How to migrate unit test based on Spring Test?
To answer these questions the talk will present the patterns and strategies used to map, transform and migrate the different concepts from Spring 3 to JEE7with CDI. The talk will discuss the changes and implications of the migration on the system’s architecture.
One of my presentations in DevOps training session at Higgsup. This presentation is an introduction to Continuous Integration and best practices to apply Continuous Integration to your project.
Topics covered in this session are:
1. Prerequisites for Continuous Integration
2. Problems with traditional software integration
3. What is Continuous Integration?
4. Why Continuous Integration?
5. How does Continuous Integration works?
6. Best practices of Continuous Integration
7. Summary
As presented to the Milwaukee Alt.Net group on November 21st, 2011.
UPDATE April 19, 2012: added some domain logic organization slides using Fowler's 4 basic patterns.
Sitecore development approach evolution – destination helixPeter Nazarov
Sitecore Development Approach Evolution – Destination Helix
Sitecore officially recommended Helix as a set of overall design principles and conventions for Sitecore development around 18 month ago at SUGCON 2016 alongside with an official implementation example - Habitat. Why was it necessary? What are the benefits? Has it worked in practice? Peter Nazarov will share the outlook on why and how a combination of Sitecore Helix and Habitat benefits the business and development users of Sitecore in practice.
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDIMario-Leander Reimer
This talk is a detailed case study about the migration of a JSF-based web application from Spring 3 to Java EE 7 and CDI. It is presented at the JavaOne 2014 conference.
At first sight this didn’t seem to be too difficult. Both technologies are based on similar concepts and provide similar mechanisms for dependency injection (DI). So migrating pure annotation based bean wiring from Spring to CDI was obvious and straight forward.
But the deeper we looked into the source code the more Spring specific code we found with no direct and easy mapping in neither of JEE7, EJB3 or CDI available. Some of the problems and challenges we were confronted with were:
- How to migrate XML based bean wirings?
- How to migrate FactoryBeans?
- How to migrate AspectJ based AOP proxies?
- How to implement Spring profiles for environment based wiring?
- How to implement custom bean scopes?
- How to implement custom Spring XML schema notations and wiring?
- How to migrate code that is built against Spring APIs?
- How to migrate unit test based on Spring Test?
To answer these questions the talk will present the patterns and strategies used to map, transform and migrate the different concepts from Spring 3 to JEE7with CDI. The talk will discuss the changes and implications of the migration on the system’s architecture.
One of my presentations in DevOps training session at Higgsup. This presentation is an introduction to Continuous Integration and best practices to apply Continuous Integration to your project.
Topics covered in this session are:
1. Prerequisites for Continuous Integration
2. Problems with traditional software integration
3. What is Continuous Integration?
4. Why Continuous Integration?
5. How does Continuous Integration works?
6. Best practices of Continuous Integration
7. Summary
As presented to the Milwaukee Alt.Net group on November 21st, 2011.
UPDATE April 19, 2012: added some domain logic organization slides using Fowler's 4 basic patterns.
You will learn the following
- Introduction to Azure Resource Manager Templates and its benefits.
- Provision applications to Azure using a declarative template.
- How to deploy multiple services along with their dependencies using a single template.
- Also, offer the option of splitting up your ARM templates into multiple templates that each describes individual resources.
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsJames Strong
This talk was given at the January 2016 Meetup of the Louisville Software Engineers. In it we discuss how to implement continuous integration in a development environment utilizing Jenkins CI.
Do you think Bitbucket is just a tool for developers and their code? Or perhaps you feel features like diff-views, version control and pull requests have no place in your team's workflow? Well guess again, because Bitbucket works just as well for people like designers, analysts and content writers as it does for software developers!
Join Product Manager Amber Van Hecke as she explains how Bitbucket can help your team. She'll explain the basics to get your non-coding related projects up and running, and showcase how various teams at Atlassian are using Bitbucket for marketing content, design, data sharing and more.
Amber Van Hecke, Product Manager, Atlassian
Dagger 2
In this talk we'll discuss why Dagger 2 will be the best Java dependency injection library yet. We'll show you how to use it and what advantages it offers over the original Dagger.
Document your rest api using swagger - Devoxx 2015johannes_fiala
This session will show you how you can easily document your REST API's using Spring & Swagger.
It will show you how to use the Swagger-Spring integration in a Spring Boot application:
Setup a basic REST API using Spring-Boot together with Swagger-Springfox
Access and test the REST-API using the Swagger-UI client
Generate client code stubs for your language (e.g. Java, PHP, Python, ...) using Swagger-Codegen
Graphically display your REST-API using the Chrome plugin Swagger.ed
Devoxx Belgium Nov. 2015
Ketan Majmudar: From Kitchen Sink to App: Real World Case StudiesAxway Appcelerator
Ketan Majmudar shows how and why he chose Titanium over other web based technologies for delivering apps that are out into the "real world", with two case studies (an app being deployed to a district of the Surrey Police Force within the UK & the SCI-FI-LONDON Film Festival).
This talk is aimed at beginners, intermediate developers and decision makers to gauge the benefits and take away tips for use in planning and building your first Titanium apps.
You will learn:
App Structure
Cross Platform Considerations
Testing Solutions
Twitter & oAuth
Quick-fixes for AppStore
Getting Help & Resources
Ketan steps you through his experiences from coding his first app, to using the Kitchen Sink, to a more structured second app. You will find useful tips and libraries that will help enable your app to talk to twitter cross platform and how I got feedback during the development.
You will learn the following
- Introduction to Azure Resource Manager Templates and its benefits.
- Provision applications to Azure using a declarative template.
- How to deploy multiple services along with their dependencies using a single template.
- Also, offer the option of splitting up your ARM templates into multiple templates that each describes individual resources.
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsJames Strong
This talk was given at the January 2016 Meetup of the Louisville Software Engineers. In it we discuss how to implement continuous integration in a development environment utilizing Jenkins CI.
Do you think Bitbucket is just a tool for developers and their code? Or perhaps you feel features like diff-views, version control and pull requests have no place in your team's workflow? Well guess again, because Bitbucket works just as well for people like designers, analysts and content writers as it does for software developers!
Join Product Manager Amber Van Hecke as she explains how Bitbucket can help your team. She'll explain the basics to get your non-coding related projects up and running, and showcase how various teams at Atlassian are using Bitbucket for marketing content, design, data sharing and more.
Amber Van Hecke, Product Manager, Atlassian
Dagger 2
In this talk we'll discuss why Dagger 2 will be the best Java dependency injection library yet. We'll show you how to use it and what advantages it offers over the original Dagger.
Document your rest api using swagger - Devoxx 2015johannes_fiala
This session will show you how you can easily document your REST API's using Spring & Swagger.
It will show you how to use the Swagger-Spring integration in a Spring Boot application:
Setup a basic REST API using Spring-Boot together with Swagger-Springfox
Access and test the REST-API using the Swagger-UI client
Generate client code stubs for your language (e.g. Java, PHP, Python, ...) using Swagger-Codegen
Graphically display your REST-API using the Chrome plugin Swagger.ed
Devoxx Belgium Nov. 2015
Ketan Majmudar: From Kitchen Sink to App: Real World Case StudiesAxway Appcelerator
Ketan Majmudar shows how and why he chose Titanium over other web based technologies for delivering apps that are out into the "real world", with two case studies (an app being deployed to a district of the Surrey Police Force within the UK & the SCI-FI-LONDON Film Festival).
This talk is aimed at beginners, intermediate developers and decision makers to gauge the benefits and take away tips for use in planning and building your first Titanium apps.
You will learn:
App Structure
Cross Platform Considerations
Testing Solutions
Twitter & oAuth
Quick-fixes for AppStore
Getting Help & Resources
Ketan steps you through his experiences from coding his first app, to using the Kitchen Sink, to a more structured second app. You will find useful tips and libraries that will help enable your app to talk to twitter cross platform and how I got feedback during the development.
Have questions about how to script or integrate a desired feature? Titanium Studio offers a wealth of opportunities for modifying and extending behavior through both Eclipse plugins and Rubles, Studio's own scripting interface.
Ingo Muschenetz, Director of Tools Engineering, will lead a deep dive into the scripting interface of Titanium Studio to show how you can customize and extend Studio to better fit your preferences and workflow. We'll cover themes, scopes, commands, snippets, project templates and content assist showing possible approaches and solutions to easily modifying existing functionality, providing your own, and sharing with others.
This session is for developers of all skill levels, with discussion and explanation of several use cases.
One of the main reasons Titanium Mobile has been so successful is that the technology has significantly lowered the barrier to entry for native mobile development. A major force behind this is JavaScript, Titanium's primary programming language. The JavaScript programming language is small enough where the basics can be learned in a matter of hours, which has enabled developers from many different backgrounds to become productive using Titanium. But there's much more to JavaScript than just control structures and a handful of primitive data types - JavaScript is a beautiful functional programming language with great features you might not be using.
Most developers working on the web today have had some exposure to JavaScript, but there's a difference between using jQuery for DOM manipulation on a web page and writing an entire application in JavaScript. This talk, intended for beginner or intermediate JavaScript developers, will focus on the essential language features you will need to write professional JavaScript applications, including but not limited to:
Object Oriented Programming in JavaScript
The Good Parts and Bad Parts of JavaScript
Useful JavaScript Patterns, Tricks, and Style Guidelines
The JavaScript runtime in Titanium Mobile
Further Reading and ways to stay up to date on JavaScript
Jeff English: Demystifying Module Development - How to Extend TitaniumAxway Appcelerator
The ability to extend your application with custom functionality, whether an external library or your own custom library, opens up numerous possibilities for what you can create. Titanium enables this with what are called 'modules'. Modules provide a bridge between your Javascript application code and your native library code. Getting started writing your own modules can seem confusing, but once your understand the architecture of a module and how it integrates with the Titanium platform you will be able to add your own functionality in short order.
In this session you will learn:
How to create your module project
How to call methods and pass parameters to your module from your Javascript code
How to make callbacks into your Javascript code from your module
This session is for anyone interested in understanding module development and how to get started.
Jeff English is the Modules Development Manager at Appcelerator. Jeff and his team designed and developed many of the Appcelerator modules found in the Marketplace.
Don Thorp & Marshall Culpepper: Advanced Titanium Development for AndroidAxway Appcelerator
In this presentation, we will provide an overview of native Android tooling and some of its uses. We will also cover several Android specific concepts and APIs and discuss how you can use them when creating a best of breed application.
Tooling
- DDMS
- adb (Android Debug Bridge)
- android (Downloading SDKs, Managing AVDs)
APIs
- Android Lifecycle Events
- Intents, Activities, Notifications
- Javascript Activities
- Resources
- Android Section of tiapp.xml
Apps, APIs & Analytics: What "Mobile First" Really MeansAxway Appcelerator
BYOD for tablets and smartphones represents only the first shock of the mobile explosion. There is an even larger change coming, one defined by greater (not less) heterogeneity in device and OS, combined with myriad of new data sources. Driving all of it is a demand for ever-richer user experiences - a new kind of "experience economy", where the winners are those companies that deliver the most compelling experiences to the user's device of choice. In this presentation to the Washington Area CTO Roundtable, Appcelerator co-founder and CTO Nolan Wright investigates what these changes mean to the ways we build apps, connect them to public and enterprise data, and measure the results - as well as what it all suggests for the future of enterprise IT.
f your company is caught up wondering which mobile apps to build or which devices to support, chances are you’re asking the wrong questions. Instead, organizations need to understand first how user expectation is being rewired in a mobile world - one in which “mobile moments” are the new battleground for customer and employee engagement.
Jeremy Glassenberg: Using Titanium to Connect to Enterprise SaaSAxway Appcelerator
From the launch of the iPhone and subsequent opening of the iOS to developers, to Android OS and now tablets, we’ve seen the surge in mobile software development. Not only has the industry grown exponentially, but it has expanded into new demographics – and in particular, the latest innovations are enabling developers to create business-grade solutions on mobile devices.
The entrance of enterprise customers into the mobile industry comes as no surprise. In recent years, SaaS solutions have gone beyond consumer services as well, expanding on the precedent set by Salesforce.com. And all the while the API craze continued from 2009 onward. creating an excellent point of synergy.
For mobile developers interested in building business-grade applications, here you’ll learn tips and tricks for working with Enterprise SaaS APIs. We’ll highlight the business opportunities for mobile development in the space, and the technical opportunities in adding SaaS solutions to your applications.
Augmented Reality (AR) is the next step in presenting location data. See how Titanium Mobile enables you to create cross platform AR Apps using common APIs such as Groupon, Yelp, Twitter, and others.
Learn how to use GeoNames, Google and other third party services to extend Titanium's Geolocation functionality. Example source will be provided on how you can chain different location services to handle different accuracy and availability requirements.
Compare different AR presentation patterns and how they are implemented cross platform. Learn how to used the camera overlay and other UI elements to effectively present geolocation data.
The Titanium Platform provides a rich framework to build AR Applications upon. Using the TiAR sample application we will discuss a series of patterns and approaches on how to build AR into your Apps. The TiAR sample application will be available upon github before the conference begins.
Bill Cava provides a timeline of significant features and improvements made to Ektron over the past four years and helps you understand how upgrading can help you get your job done, faster with more control and less effort
Replace Angular with React. Make the move from the MEAN stack to the powerful MERN Stack!
Come and learn about the MERN stack. No, that isn't a typo. The MERN stack is Mongo, Express, and Node, with React instead of Angular. While both React and Angular are remarkable JavaScript technologies, React comes with less baggage. There is no TypeScript, no annotations, no bossy framework telling you how to do everything.
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
Alex Theedom Java ee revisits design patternsАліна Шепшелей
Enter "Django Channels": new way of desinging and thinking about your application. It separates transport and processing concerns in typical Django project using combination of ASGI (Asynchronous Server Gateway Interface) and worker processes, enabling your application to be "event-oriented" and implement new workflows for processing your data. How does it work? What do you need to start? Is it even useful? Learn for yourself with this introductory talk.
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Perficient, Inc.
During the 2015 IBM Digital Experience, Mark Polly, Perficient Director, Strategic Advisors for Portal, Social, Web Content, demonstrated how you can dart past your competition by getting your digital experience into market faster than ever before.
There's a large number of libraries available for Android but who has the time to try them all? In this lecture we'll show you a few libraries which we use on daily basis and explain how they can help you to get the job done faster.
https://www.youtube.com/watch?v=9yxj9bxQ9H4
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT
SharePoint has become mission critical, complex, and wide-ranging in most enterprises. How do we apply the best practices of ALM in this environment?
Learn more from this presentation, delivered by Envision IT, Leaders in SharePoint Solutions
Announcing AWS CodeBuild - January 2017 Online Teck TalksAmazon Web Services
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous integration and delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes followed by Amazon engineers and discuss how you can bring them to your company by using a set of application lifecycle management tools from AWS: the newly announced AWS CodeBuild service, AWS CodePipeline, and AWS CodeDeploy.
Learning Objectives:
• Understand the concepts of DevOps, continuous integration, and continuous delivery
• Learn about Amazon’s DevOps practices
• Hear an overview of how to build a continuous integration and continuous delivery workflow using the combination of CodeBuild, CodePipeline, and CodeDeploy
Similar to Codestrong 2012 breakout session how to develop your own modules (20)
Titanium SDK 6.1.0.GA has just been released and more releases are upcoming. This presentation describes the changes of the most recent release, as well as a roadmap about future releases of Titanium, Hyperloop and Alloy.
Mobile & The New Experience Economy (And What it Means for IT)Axway Appcelerator
Mobile is replacing the Web -- not soon, now -- but too many companies have their heads in the sand, convinced it’s just another “trend.” It too shall pass, right? See what Appcelerator co-founder and CTO, Nolan Wright, has to say about why B2U is the only acronym that matters.
Codestrong 2012 breakout session create real interactive prototypes in minutes
Codestrong 2012 breakout session how to develop your own modules
1. Introduction to Module
Development
Aaron K. Saunders
Founder/CTO
Clearly Innovative Inc
@aaronksaunders
aaron@clearlyinnovative.com
2. About Me
• Founder & CTO Clearly Innovative Inc.
• Full stack development for mobile and
web integrations w/javascript & nodejs
• Appcelerator Platform Evangelist; Titan
• IOS and Android Module Development
• 2yrs of Appcelerator blogging
• Working on book with ACS and Alloy
Integration
4. Android Topics
• Introduction to module development,
not advanced
• Basic integration of third party library
and intent based library
• Understand the Titanium Studio Menu
commands for scripts
• Understanding Ant build script on
Android
5. IOS Topics
• Introduction to module development,
not advanced
• Basic integration of third party library
• Understand the Titanium Studio Menu
commands for scripts
• Understanding command line scripts
7. Out of Scope
• Advanced view integration in modules
• Additional information on NDK
integration on Android
• Addressing complex third party library
conflicts on IOS
9. Your Environment
• Instructions on the wiki are your best
starting point
• Use the commands provided in
Titanium Studio
• Be sure you have followed instructions
for setting up Titanium Studio
• Installing Java Development Tools
11. Create Android
Module • Select “New Titanium
Mobile Module Project”
from Menu
• Fill out all of the fields
presented
• Save the project
• Edit the build.properties
to point to the
ANDROID_NDK path
• Run project
15. Integration Steps
• Import 3rd party library
• Pass authentication credentials into
module
• Setup callbacks in module
• Pass results back from module
• Render results
16. Edit app.js
• Instantiate the module object
• Create a proxy object
• Provide credentials to module
• Setup success and error callback
• Execute API method on proxy object
20. Edit proxy file
• Get properties for username and
realm; framework does most of the
heavy lifting for you
• Get the callback functions from the
passed in parameters
27. Your Environment
• Instructions on the wiki are your best
starting point
• Use the commands provided in
Titanium Studio
• Be sure you have followed instructions
for setting up Titanium Studio
• Installing IOS & Xcode
Development Tools
33. Edit header file
• Set the interface for the card.io
delegate
• Set up private variable for the function
callback with success or error
information
35. Edit module file
• Remove the template method calls
generated by script
• Make sure we de-allocate any
memory that we have allocated
• Get the parameters from the
javascript passed into objective-c
• Make card.io API call to display card
capture information
37. Edit module file
• Handle the response from the UI after
it is rendered
• Handle the two delegates from API for
user cancel or data entered
• Pass a new hashmap containing
results back to the javascript app