Presentation material for Indonesia's Tizen Developer Workshop in developing Tizen Native Application Development. It describes on how to develop native application, beginning from Hello Tizen app.
It also covers the overview of Enlightenment Framework Libraries and how to use it on Tizen. Native application styling using EDJE is also covered in App Layouting section, with brief concept on how to code EDC and load it on the runtime.
Finally it gives brief information how developing natively in Tizen is flexible, where we can also utilizes C++ in conjunction with the provided C libraries. It is possible to use external libraries in Tizen if we find that the preloaded Native API is not enough.
The goal of this presentation is to give overview of native application concept while at the same time giving depth concepts to the developers so they can begin developing native Tizen application without hesitation.
Presentation to Xamarin User Group in San Francisco, 19-Sep-2013... all the latest in Xamarin technology including iOS, Android, Xamarin Studio, Portable Class Libraries, Async/Await and TestCloud.
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
Building cross-platform mobile apps using open source tools. A manic paced session where I build the same app across 4 different open source mobile development frameworks.
Presentation material for Indonesia's Tizen Developer Workshop in developing Tizen Native Application Development. It describes on how to develop native application, beginning from Hello Tizen app.
It also covers the overview of Enlightenment Framework Libraries and how to use it on Tizen. Native application styling using EDJE is also covered in App Layouting section, with brief concept on how to code EDC and load it on the runtime.
Finally it gives brief information how developing natively in Tizen is flexible, where we can also utilizes C++ in conjunction with the provided C libraries. It is possible to use external libraries in Tizen if we find that the preloaded Native API is not enough.
The goal of this presentation is to give overview of native application concept while at the same time giving depth concepts to the developers so they can begin developing native Tizen application without hesitation.
Presentation to Xamarin User Group in San Francisco, 19-Sep-2013... all the latest in Xamarin technology including iOS, Android, Xamarin Studio, Portable Class Libraries, Async/Await and TestCloud.
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
Building cross-platform mobile apps using open source tools. A manic paced session where I build the same app across 4 different open source mobile development frameworks.
This slide deck was used during a webinar presentation covering everything you can do and build with Ionic from Matt Netkow, Head of Developer Relations.
Join Matt Netkow for a walkthrough of Capacitor 2.0. During this webinar, he’ll show off all the new features and capabilities of the latest version, along with the core feature set from previous versions. Watch the live presentation here: https://bit.ly/2TomZqV
Join Matt Netkow, Head of Developer Relations, and Nick Hyatt, Appflow Product Manager, as they walk through Capacitor, Ionic's new open source cross-platform app runtime that makes it easier to build web apps that run natively on iOS, Android, Electron, and the web.
Join Matt Netkow for an updated look into all the ways modern hybrid app development has evolved in its 10+ year journey.
Watch live presentation here:
https://ionicframework.com/resources/webinars/hybrid-app-development-redefined
Top Cordova Challenges and How to Tackle ThemIonic Framework
One of the best things about hybrid development is the ability to develop native-powered apps without being a native mobile expert. Thanks to the open source Cordova project, we can access native device features like Camera, GPS, and more, with basic JavaScript.
But, Cordova can also be one of the most challenging.
In this webinar, Matt Netkow and special guest Bryant Plano (Ionic Customer Success team) cover the top Cordova challenges and the best strategies to overcome them. Learn how to tackle dependency management, address failed builds, craft ongoing maintenance strategies, and more.
https://ionicpro.wistia.com/medias/74n19v7ods
Ionic Native: Native-powered apps, without the hassleIonic Framework
Join us for a live walkthrough of Ionic Native, a curated library of over 250 Community and Premier native solutions and plugins, delivering everything you need to build amazing cross-platform experiences from Day One.
View the presentation here: https://ionicpro.wistia.com/medias/bacos4ktbn
Lookout security analyst Jing Xie presented her research at the Grace Hopper Celebration of Women in Computing on October 9, 2014. She explains the Android app landscape, how malicious apps make it onto the marketplace, and how intelligent research can sniff out the evil apps.
Join Matt Netkow, Head of Developer Relations, as he announces the launch of Capacitor, Ionic's new cross-platform app runtime that makes it easy to build web apps that run natively on iOS, Android, Electron, and the web.
View presentation here: https://www.youtube.com/watch?v=tDW2C6rcH6M&t=1s
Lookout iOS developer Stephanie Shupe presented at the Grace Hopper Celebration of Women in Computing on October 10, 2014. She explains the processes that Lookout has used to successfully scale its mobile app.
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorIonic Framework
Join Matt Netkow, Sr. Product Evangelist, as he uses Capacitor, Ionic's new cross-platform app runtime, to build a Progressive Web App with improved native features that runs anywhere—iOS, Android, the web, you name it.
[Srijan Wednesday Webinars] Building a High Performance QA TeamSrijan Technologies
Speaker: Karim Fanadka, HPE Software
Session Slides: http://www.srijan.net/webinar/building-high-performance-qa-team/
Karim is a DevTest manager at HPE Software and his team is responsible for testing their new SaaS product, the StormRunner Load. In this webinar, Karim shares his experience of building a QA team that is agile, efficient, and uses the latest testing frameworks. He will also talk about continuous testing, automation, test based analytics and hotfixes.
Karim start's off the challenges in agile QA and then moves on to solving these challenges. The best part is when he shares the trick to delivering to production every 1.5 months, even for a high pressure enterprise product.
The Q/A session also brings out some very interesting topics, going into greater details and various suggestions that you can implement for your own QA teams.
Now and right here, you can meet diverse watchfaces for Gear Fit2
If you find anything inspiring, share your thoughts
We are looking for your design depicting ‘Sports & Dynamic’.
OpenMobile ACL bringing Android apps to TIZENRyo Jin
Enable your Android apps on the Tizen platform with OpenMobile Application Compatibility Layer™ (ACL™). With our ACL technology, your Android apps can run seamlessly alongside native Tizen and web apps on any Tizen platform. Getting started is easy, as ACL allows unmodified Android apps to execute on the millions of Tizen devices expected to ship in 2014.
This slide deck was used during a webinar presentation covering everything you can do and build with Ionic from Matt Netkow, Head of Developer Relations.
Join Matt Netkow for a walkthrough of Capacitor 2.0. During this webinar, he’ll show off all the new features and capabilities of the latest version, along with the core feature set from previous versions. Watch the live presentation here: https://bit.ly/2TomZqV
Join Matt Netkow, Head of Developer Relations, and Nick Hyatt, Appflow Product Manager, as they walk through Capacitor, Ionic's new open source cross-platform app runtime that makes it easier to build web apps that run natively on iOS, Android, Electron, and the web.
Join Matt Netkow for an updated look into all the ways modern hybrid app development has evolved in its 10+ year journey.
Watch live presentation here:
https://ionicframework.com/resources/webinars/hybrid-app-development-redefined
Top Cordova Challenges and How to Tackle ThemIonic Framework
One of the best things about hybrid development is the ability to develop native-powered apps without being a native mobile expert. Thanks to the open source Cordova project, we can access native device features like Camera, GPS, and more, with basic JavaScript.
But, Cordova can also be one of the most challenging.
In this webinar, Matt Netkow and special guest Bryant Plano (Ionic Customer Success team) cover the top Cordova challenges and the best strategies to overcome them. Learn how to tackle dependency management, address failed builds, craft ongoing maintenance strategies, and more.
https://ionicpro.wistia.com/medias/74n19v7ods
Ionic Native: Native-powered apps, without the hassleIonic Framework
Join us for a live walkthrough of Ionic Native, a curated library of over 250 Community and Premier native solutions and plugins, delivering everything you need to build amazing cross-platform experiences from Day One.
View the presentation here: https://ionicpro.wistia.com/medias/bacos4ktbn
Lookout security analyst Jing Xie presented her research at the Grace Hopper Celebration of Women in Computing on October 9, 2014. She explains the Android app landscape, how malicious apps make it onto the marketplace, and how intelligent research can sniff out the evil apps.
Join Matt Netkow, Head of Developer Relations, as he announces the launch of Capacitor, Ionic's new cross-platform app runtime that makes it easy to build web apps that run natively on iOS, Android, Electron, and the web.
View presentation here: https://www.youtube.com/watch?v=tDW2C6rcH6M&t=1s
Lookout iOS developer Stephanie Shupe presented at the Grace Hopper Celebration of Women in Computing on October 10, 2014. She explains the processes that Lookout has used to successfully scale its mobile app.
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorIonic Framework
Join Matt Netkow, Sr. Product Evangelist, as he uses Capacitor, Ionic's new cross-platform app runtime, to build a Progressive Web App with improved native features that runs anywhere—iOS, Android, the web, you name it.
[Srijan Wednesday Webinars] Building a High Performance QA TeamSrijan Technologies
Speaker: Karim Fanadka, HPE Software
Session Slides: http://www.srijan.net/webinar/building-high-performance-qa-team/
Karim is a DevTest manager at HPE Software and his team is responsible for testing their new SaaS product, the StormRunner Load. In this webinar, Karim shares his experience of building a QA team that is agile, efficient, and uses the latest testing frameworks. He will also talk about continuous testing, automation, test based analytics and hotfixes.
Karim start's off the challenges in agile QA and then moves on to solving these challenges. The best part is when he shares the trick to delivering to production every 1.5 months, even for a high pressure enterprise product.
The Q/A session also brings out some very interesting topics, going into greater details and various suggestions that you can implement for your own QA teams.
Now and right here, you can meet diverse watchfaces for Gear Fit2
If you find anything inspiring, share your thoughts
We are looking for your design depicting ‘Sports & Dynamic’.
OpenMobile ACL bringing Android apps to TIZENRyo Jin
Enable your Android apps on the Tizen platform with OpenMobile Application Compatibility Layer™ (ACL™). With our ACL technology, your Android apps can run seamlessly alongside native Tizen and web apps on any Tizen platform. Getting started is easy, as ACL allows unmodified Android apps to execute on the millions of Tizen devices expected to ship in 2014.
Introduction to Watch Face Development with Tizen StudioRyo Jin
These materials describe how to develop Gear watch apps for Gear S2 and S3 devices via Tizen Studio, which you can distribute commercially and for free via the Galaxy Apps store.
Xotelia - Why should you implement a dynamic pricing strategy on your vacatio...Jeffrey Messud
Most of the innkeepers usually think that yield management matters only for large hotels and resorts. That’s a huge mistake to assume that they do not need to sharpen their online pricing strategy as well.
Adjusting your rates will allow you to maximize your occupancy rate and boost your rental revenues.
The {disappointed|dissatisfied|let down} {expectation|assumption} in the {price|cost|rate} of the {world|globe}'s {top|leading} {digital|electronic} {currency|money}, which {slumped|dropped|plunged|sagged} to {a low|a reduced} of $864 on Christmas Day, {and|as well as|and also} {the market|the marketplace} cap that {reversed|turned around} on the previous gains to $13.88 bln is {now|currently} being {corrected|fixed|remedied|dealt with}, {a push|a press} Indian market {insiders|experts} {say|state|claim} {will|will certainly} {continue|proceed} till {at least|a minimum of|at the very least} Q1 2017.
Appcelerator Titanium is a cross-platform development environment where you can build iOS, Android, BlackBerry and Hybrid/HTML5 apps. This talk will discuss how it works, how to get started, code samples and pros/cons from experience.
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatmdevtalk
Continuous Integration je velice důležité, leč často opomíjené téma. Většina lidí má tento termín zažitý jako něco co je složité a patří to do velkých společností. Opak je pravdou, CI můžete využívat i jako freelancer nebo malá společnost velice jednoduše. Ať už ho chcete používat k testování, nasazování, doručování buildu nebo notifikacím, ušetří Vám to hodně času a peněz. Dominik se věnuje problematice CI pro mobilní vývoj již více jak 2 roky a se svými kolegy vyrobil CI pipeline pro iOS, Android i backend, která šetří stovky minut denně celému týmu. Ve svém talku se zaměří, jak na mobilní platformy, tak na backendy a frontendy, aby si na své přišel opravdu každý.
Jetpack Compose - Android’s modern toolkit for building native UIGilang Ramadhan
Jetpack Compose simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
Flutter and Firebase: A Powerful Combination for App Development
Flutter is a popular open-source framework for building beautiful and user-friendly mobile, web, desktop, and embedded applications from a single codebase. It's known for its:
Expressive UI: Declarative approach for building UIs that are easy to understand and maintain.
Fast Development: Hot reload allows you to see changes in your app almost instantly, leading to faster development cycles.
Cross-platform: Write code once and deploy to multiple platforms (Android, iOS, Web, etc.) with minimal platform-specific code.
Firebase is a Backend-as-a-Service (BaaS) platform developed by Google. It provides a suite of tools and services to simplify the backend development of mobile and web applications. Some key features of Firebase include:
Authentication: Easy integration of user authentication methods like email/password, social logins, and phone number authentication.
Database: Cloud-hosted databases like Realtime Database and Firestore for storing and syncing app data.
Storage: Cloud Storage for storing and managing user-generated content like images, videos, and audio files.
Analytics: Track user engagement and app usage to understand how users interact with your app.
Crashlytics: Automatically report crashes and exceptions to identify and fix bugs in your app.
Cloud Functions: Serverless functions that respond to events triggered by your app or other Firebase services.
Introduction to Indigo.Design App BuilderJason Beres
Indigo.Design App Builder is a brand-new cloud-based WYSIWYG drag & drop tool that helps teams design and build complete business apps faster than ever before. Part of Indigo.Design, the world’s only Digital Product Design Platform with a complete Design to Code solution.
iOS Development Survival Guide for the .NET GuyNick Landry
Download the demo Xcode project from: http://db.tt/14dtriGU
SESSION ABSTRACT
You’ve been a .NET developer for the last 10 years. You love Visual Studio. You can spit out C# like a boy scout can tie a knot. But now your boss wants you to build an iPad app for the company. Or maybe you got a good deal on a Mac on eBay and you’ll finally write that cool iPhone app that will top the other 600K in the iOS App Store. So where do you get started? What development environment do you use? How do you write apps in Objective-C compared to C#? What other tools & libraries can you use? This session is your survival guide to the world of iOS development as seen from the eyes of a .NET developer. We’ll start from the basics and build our first iOS app, using analogies and comparisons from the familiar world of Visual Studio and .NET as our guide. We’ll also discuss how to structure our app project, how to test & deploy our app, and we’ll even take a quick look at some of the new developer features in iOS 7.
We'll also discuss how to cloud-enable your apps using Microsoft Azure Mobile Services, which features native support for iOS developers.
You’ll learn to blend in with the Apple crowd and talk like a true native in no time! If you’ve ever considered dipping your toes in the iWaters, this session is your chance to take your first dive.
Slides for my talk at OpenSlava conference 2013-10-11.
Abstract: Integrated Development Environments are at the neuralgic centre of developer activities. For many of us it’s unconceivable to work in complex developments leveraging multiple heterogeneous tools for design, build and test activities without the IDE connecting them all.
IDEs are powerful tools, capable of handling many types of tasks. In many cases, IDEs are perceived as a commodity but this is a naïve approach that ignores the many brilliant features that IDEs can be used for: debugging, code generation, test automation, version control, quality assurance, task & issue management, etc.
During this talk, participants will get an overview of what IDEs mean today, for the newbie, the enterprise and the hard-core developer, will get introduced to key IDE features that every one of us should be using, and will participate on an open discussion about what next-generation IDEs should look like.
Introduction to hybrid application developmentKunjan Thakkar
The presentation I prepared for in-house skill building. Introduction to Hybrid development. Understanding different frameworks and choosing the right one.
What is Computer Programming?
What is Software Development and Its Major Activities
Your First C# Program
Formatting the Program Source Code
The C# Language and .NET Framework
Microsoft Visual Studio: Compiling, Running and Debugging C# Programs
MSDN Library – The Integrated Help System in Visual Studio
Exercises: Creating, Compiling and Running C# Programs
Similar to Samsung Indonesia: Tizen Native App (20)
Samsung ARTIK 050 (ARTIK ZERO) Modules Data SheetRyo Jin
Samsung ARTIK is an end-to-end, integrated IoT Platform that transforms the process of developing, launching and managing connected products. The ARTIK 050 module is specifically built to provide secure IoT connectivity for products across vertical markets, including smart home, smart lighting, smart building, manufacturing, and health and wellness.
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan DriverRyo Jin
At XDC2016 Day 1, Samsung R&D talking about Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver. Lots of technical details there for those interested in Vulkan and friends.
Panduan Penggunaan Perangkat Wearable TizenRyo Jin
Panduan Penggunaan Perangkat Wearable Tizen ini dibuat dengan tujuan untuk memberi tutorial bagi pengguna baru yang masih asing dengan Tizen khususnya pengguna baru smartwatch yang mulai digemari. Platform wearable yang dipakai adalah Samsung Gear S2 yaitu smartwatch samsung pertama yang menggunakan TIZEN sebagai OS-nya.
Buku berjudul "Cara Menggunakan Smartphone Tizen" ini memberi tutorial bagi penggua baru yang masih asing dengan OS Tizen. Smartphone yang dipakai adalah smartphone komersial Tizen pertama yaitu Samsung Z1.
Tizen experiences explosive growth as #1 platform for IoT
It became a leading independent open platform for all segments
IoT interoperability is the key for rapid growth of Digital Economy
Tizen is guided by Open InterConnect Consortium
Tizen itself is establishing as an Open Independent Project
Tizen Micro profile is an open platform for low-end IoT devices to utilize the Internet and extend their value with Web technology. Tizen Micro profile provides the minimal S/W stack that is necessarily required on IoT devices. It will be common for the every IoT devices in Tizen and address Tizen as OS of Everything.
Tizen merupakan open source project untuk sistem operasi yang berbasis modifikasi Linux Kernel dan WebKit runtime. Dengan Tizen, kita dapat menjalankan aplikasi diatas Smartphone, Wearable ataupun complaisance devices yang mengusung OS Tizen.
Buku Panduan Dasar Pemrograman Tizen dibuat dengan maksud dan tujuan untuk membantu para developer pemula atau developer yang sudah memiliki ketrampilan memprogram aplikasi mobile baik itu Windows Phone, Android ataupun iOS dalam membuat aplikasi mobile diatas platform Tizen.
The Story of Enlightenment, EFL, Tizen and WaylandRyo Jin
Carsten Haitzler (Rasterman) presented at FOSDEM 2016 about Enlightenment on Wayland. As part of that, with Samsung's Tizen environment using Enlightenment, they too are after Wayland as being the superior solution to X11.
There has been an increased support for various profiles and devices on Tizen. As Tizen is a multi/cross platform, device integration will be the main factor of a fluid interface between devices. Whether it is Mobile, Wearable, or TV the scalability and usability will be accessible. These features will allow the users to gain: (1) Easy Access, (2) Content Mash-up, and (3) Multi Device Control. This presentation will introduce the "Tizen Pass" which cover Cross device User Experience & features of Tizen convergence service FW.
DeepSort is a 'scalable and efficiency-optimized distributed general sorting engine.’ DeepSort enables a fluent data flow that shares the limited memory space and minimizes data movement, which makes it to be highly efficient at a large scale.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Modern design is crucial in today's digital environment, and this is especially true for SharePoint intranets. The design of these digital hubs is critical to user engagement and productivity enhancement. They are the cornerstone of internal collaboration and interaction within enterprises.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
1. DeveloperWorkshop
Tizen NativeApplication
Development with C/C++
Gilang Mentari Hamidy
SamsungResearch and Development Institute Indonesia(SRIN)
gilang.hamidy@gmail.com • g.hamidy@samsung.com •http://labs.heliosky.com
OneDrive Link: http://bit.ly/TizenNativeWorkshop
2. DeveloperWorkshop
Hallo! Ich heiβeGilang
Page 2
• I am engineer at Samsung Research Institute Indonesia
(SRIN)
• I have been involved in Tizen Projects in SRIN since
December2015, our firstTizen project
• Graduatedfrom Universitas Indonesia
• 4years experience asConsultant inAccenture Indonesia,
then suddenlychange my direction to Software Engineer
• Favoriteprogramming language: C# and C++!
3. DeveloperWorkshop
The Menu
Intro
WhyNative?
TizenSDK
TizenNative API
Hello Native
StartNew Project
Native AppStructure
CCrashCourse
Runningthe App
Debuggingthe App
EFL Libraries
Whatisit?
Available Widgets
WidgetsinYourApp
Interactive Widget
AdvancedWidget
App Layouting
WhatisEDJE
Structure ofEDCfile
Theme inNative App
CustomizingGenlist
TizenUI Builder
Coding in C++
WhyC++?
SRINC++ Framework
Some Examples
Useful Libraries
Sample Project
Page 3
Intro
HelloNative
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
All questions, direct at http://bit.ly/TanyaNative, I will discuss questions in
front
4. DeveloperWorkshop
Utilize the full power ofTizen device
withTizen Native Framework
• Nativeapplication can
utilize the full power of
devicecapabilities
• Nativeapplication does
not sufferwith resource-
heavyweb rendering
• Unlike web application,
debuggingin native app is
aidedby the IDE
• Harderto learn compared
to web app framework
• Obscureerror and harder
to identify crashing bug
• Harderto develop cool
userinterface (hard but
possible)
Pros Cons
Intro
WhyNative?
TizenSDK
TizenNativeAPI
HelloNative
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 4
5. DeveloperWorkshop
Install Native SDK for Tizen
• Defaultinstallation
doesnot include
NativeSDK. Install it
usingUpdate Manager
• TizenNative SDK
providesC/C++
compilers (GCC/LLVM)
and its required
libraries.No additional
hassle required
Intro
WhyNative?
TizenSDK
TizenNativeAPI
HelloNative
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 5
6. DeveloperWorkshop Tools provided to develop native application for
Tizen: Integrated Development Environment
• CodeusingTizen IDE
(a.k.a.Eclipse)
• TizenIDE provides
debuggerinternally,
youcan perform step-
by-stepinteractive
debugging
Intro
WhyNative?
TizenSDK
TizenNativeAPI
HelloNative
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 6
7. DeveloperWorkshop Tools provided to develop native application for
Tizen: Log and CrashViewer
• Integrated in the IDE
• Logging similar to
Android’slogcat
• Crashviewer to display
StackTrace if the
application is crashed
Intro
WhyNative?
TizenSDK
TizenNativeAPI
HelloNative
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 7
8. DeveloperWorkshop Tools provided to develop native application for
Tizen: Enventor, a layout builder
• BuildUI layout for EFL
• AlmostWYSIWYG
editor.What you code
there will be similar
with what you will see
onthe device
• Willbe explained
furtherlater
Intro
WhyNative?
TizenSDK
TizenNativeAPI
HelloNative
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 8
9. DeveloperWorkshop Tools provided to develop native application for
Tizen:Tizen UI Builder
• Another way to
developUI for native
application
• WYSIWYGtools which
is very similar with
Android’slayout
builder
• Simplifyapplication
development
Intro
WhyNative?
TizenSDK
TizenNativeAPI
HelloNative
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 9
10. DeveloperWorkshop
Tizen NativeAPI
• A big set of API available
toaccess Tizen device
capability from Native
application
• From UI, networking,
telephony, system, and
user data
• It is possible to use
external libraries in your
application
• Access at
http://bit.ly/TizenNative
Intro
WhyNative?
TizenSDK
TizenNativeAPI
HelloNative
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 10
11. DeveloperWorkshop
Start your new native project
• File New Tizen Native Project
(Or you can choose Project and look
forTizen Native Project on the
dialog box)
• Various native project templates
available. To build native application
from scratch, choose Basic UI
• Give your project and package a
meaningful name, then click Finish
Intro
HelloNative
StartNew Project
NativeApp Structure
CCrash Course
Running theApp
Debugging theApp
EFL Libraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 11
12. DeveloperWorkshop
Whatare those project templates
available?
• BasicDALi
Nativeapplication using Dynamic
Application Library tocreate native
application with fancy graphical
interface
• BasicUI
Nativeapplication using
Enlightenment FrameworkLibrary
(EFL), default widget toolkit forTizen
• BasicUIwith EDC
SamewithBasicUI templatebut with
EDClayout example
• Downloadable Font
Todeploy your own custom font
• InputMethod Editor
Createyour own on-screen keyboard
• Service
Application which runs in the
backgroundanddoesn’t haveGUI
• Shared/StaticLibrary
Createcommon code library that can
beshared among projects
• UIBuilder
Develop nativeapplication using UI
builder lookalike withAndroid layout
builder
• Widget
Createyour own widget
Intro
HelloNative
StartNew Project
NativeApp Structure
CCrash Course
Running theApp
Debugging theApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 12
13. DeveloperWorkshop
NativeTizen app project has similar
structure with LinuxC/C++ app project
• Includes
List of header files included automatically by
thebuilder
• inc
Yourown header files
• res
Resourcefiles tobe included in the
application installation package
• shared
Shared resource files that can be accessed
by otherapplication package
• src
Thesourcecode file
• lib
Library files if you have additional external
libraries
Intro
HelloNative
Start New Project
NativeAppStructure
CCrash Course
Running theApp
Debugging theApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 13
14. DeveloperWorkshop
NativeTizen app project has similar
structure with LinuxC/C++ app project
• Includes
List of header files included automatically by
thebuilder
• inc
Yourown header files
• res
Resourcefiles tobe included in the
application installation package
• shared
Shared resource files that can be accessed
by otherapplication package
• src
Thesourcecode file
• lib
Library files if you have additional external
libraries
Intro
HelloNative
Start New Project
NativeAppStructure
CCrash Course
Running theApp
Debugging theApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 14
15. DeveloperWorkshop
Nativeapplicationhas to always have
mainfunction
• main function is the entry point of your program
• InTizen application, main function always have to
initialize callbackfunctions to internal application events
suchas create, pause, terminate, and device events such
as battery low, etc.
• To saveyour time, just use the provided template. If you
touchit, do at your own risk
Intro
HelloNative
Start New Project
NativeAppStructure
CCrash Course
Running theApp
Debugging theApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 15
17. DeveloperWorkshop
Purpose ofApplicationEventCallbacks
Page 17
• Perform actions before themain
event loop starts, such as creating
thewindow andfirstUI of your
application
• At this point, (almost) allTizenAPI
functions can becalled safely
• When theapplication becomes
invisible, such as switching to other
application or clicking thehome
button
Create Pause
Intro
HelloNative
Start New Project
NativeAppStructure
CCrash Course
Running theApp
Debugging theApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
• When theapplication becomes
visible, or waking up after being
paused
• Reallocate resource if theresource is
released by Pauseevent
• When theapplication is going to be
terminated.
• Releaseshared resource so other
application can utilize the resource
again
Resume Terminate
19. DeveloperWorkshop
Tizen Manifest as the metadata for
nativeapplication
• Act similar with Android
manifest
• Defines the identity of
application (ID, name, version,
icon)
• Define application privileges to
access system features or data
(see the list at
http://bit.ly/TizenPrivilege)
• Define required software or
hardware features (camera,
GPS, etc)
• Other advanced functionality
such as Application Control,
sharing, etc.
Intro
HelloNative
Start New Project
NativeAppStructure
CCrash Course
Running theApp
Debugging theApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 19
20. DeveloperWorkshop
C ProgrammingLanguageCrash
Course
• C is the grandfather of
manypopular languages
like Java,Objective-C,C#,
etc
• Justthink of you coding in
limited version of Java
• Noclass and method,
onlystructures and
functions
• Manual memory
management!
• Good references:
– http://www.learn-c.org/
– https://en.wikipedia.org/
wiki/C_syntax
– http://en.cppreference.c
om/w/c/language/switch
Page 20
Intro
HelloNative
Start New Project
NativeApp Structure
CCrash Course
Running theApp
Debugging theApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
21. DeveloperWorkshop
Runningthe applicationfor the first
time
1. Start theemulator/connect thedevice
first
2. Click arrow button next to Smart
Launch on thetoolbar (Play button in
bluecircle)
3. Select NewLaunchConfiguration
4. Select theproject you want torun and
click OK
Afteryou follow this methodfor thefirst
time, thechoice for your application will
appearin Run/Debug icon in the toolbar
(buttonA andBin theimage).You can run
viathosebuttons thenext timeyou want
torun/debug
If you haven’t set security profile, it will ask
forit before deploying the app
Page 21
Intro
HelloNative
Start New Project
NativeApp Structure
CCrash Course
RunningtheApp
Debugging theApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
2
3
4
A B
22. DeveloperWorkshop
Runningthe applicationfor the first
time
Page 22
Intro
HelloNative
Start New Project
NativeApp Structure
CCrash Course
RunningtheApp
Debugging theApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
• Voila!Your application is
runningon the emulator
23. DeveloperWorkshop
Debugging the application
1. Click arrow button next to Debugicon
on thetoolbar (A bettle icon)
2. Select thedesired application to
debug
3. When popup appears, click Yes
AfterclickingYes, theIDE willswitch into
Debug perspective
Page 23
Intro
HelloNative
Start New Project
NativeApp Structure
CCrash Course
Running theApp
DebuggingtheApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
1
2
3
25. DeveloperWorkshop
Walkingstep-by-step of your program
codes
• Breakpoint is usefulto
maketheexecution of your
program pauses at certain
point
• Just doubleclick on theleft
area of source code editor
(seered squareon image
beside) untila blue dot
appears
• Tocontrolprogram
execution, usethetoolbar
Page 25
Intro
HelloNative
Start New Project
NativeApp Structure
CCrash Course
Running theApp
DebuggingtheApp
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Skip all
breakpoints
Resume
execution
Pause Terminate
App
Step into inside
function
Step overto next
statement
Step out from
current function
26. DeveloperWorkshop
EnlightenmentFramework Libraries is
the core ofTizen NativeApplication
• Tizen profide EFL as thecore
components fordeveloping native
application
• EFL provides widerangeof libraries
usefultodevelop application, from
utilities toUI widgets
• UI libraries in EFL is called
Elementary
Page 26
Intro
HelloNative
EFL Libraries
Whatis it?
AvailableWidgets
Widgets inYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
27. DeveloperWorkshop
EFL provides manywidgets which can
be composed to build UI
• Button, label, entry, grid, list, popup,
calendar, etc
• Access thelist on
http://bit.ly/TizenWidget
• CreateSampleProjects UI
Components toaccess thesampleof
widgets
• Run thesampletoview it in action
using emulatorordevice
Page 27
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
Widgets inYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
28. DeveloperWorkshop
Applicationis composed by multiple
widgets
• Let’s goback toour first BasicUI application
• Checkfunction create_base_guiwhich
creates theapplication widgets.That
function is called by app_create function
during thecreation of the application
• Theapplication creates a window, then a
conformant, andalabel
• Window andconformant is a required
widget fortheapplication torun
• You can start addingwidget to conformant.
But conformant can only hold one widget
at atime. Soyou will need acontainer
widget (willbeexplained later)
Page 28
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
WidgetsinYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Window
Conformant
Label
29. DeveloperWorkshop
Containerwidget to hold more than
one widget
• Tizen has 3 basic container widgets: Box,
Grid,Table
• Thesimplest touseis Box, which acts
similarwithAndroid’s Linear Layout
• CreateBox by calling elm_box_add the
storethepointer returned tolocal variable
• Createwidgets you want toadd tobox by
calling therespective add function (such as
elm_label_add, elm_entry_add, etc) and
supplythepointertobox widget you stored
earlier as the parameter
• Callelm_box_pack_end to“pack” the
widget intothebox.Various pack order
available (start, end, after, before)
Page 29
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
WidgetsinYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Window
Conformant
Box
Label
Button
Calendar
30. DeveloperWorkshop
Usingcontainer widget to represent a
single view for navigation
• InTizen nativeapplication, to makea
navigableuser interface, we use naviframe
widget
• Naviframecan display one container at a
timebut can have a view stackwhich can
holdalmost limitless numberof container
• Thevisiblecontainer is the container on top
of thenaviframe stack.We perform
navigation by pushing container widget to
thenaviframe
Page 30
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
WidgetsinYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Window
Conformant
Naviframe
Box
Label
Button
Calendar
31. DeveloperWorkshop
Which functions to call?
• BecauseEFL is aflat-C library, calling functions on objects is different with what we
doin Java
• Javahas methods which is attached toan object instance
• In EFL, you haveloadof functions which accept Evas_Object pointer, andyou have
tocall correct function for an instanceof a type. Soyou have toexactly remember
what is insideyour Evas_Object pointer
• Thegood(orbad) news is when supplying incorrect Evas_Object pointertoa
function that accept different Evas_Object type, EFL willkeep silent andthe
program does not crash. It just won’t dowhat you might expect
• This is thenatureof EFLAPI whichis makes content inside Evas_Object pointer
semantically transparent tothedeveloper. This is tosupport theprocedural flat-C
library which is naturally type-unsafe
Page 31
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
WidgetsinYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
32. DeveloperWorkshop
Picking functions to call
• Access thedocumentation at http://bit.ly/TizenNative
• EFL functions convention forElementaryAPI:
elm_[WIDGET TYPE]_[METHOD NAME]
• Begin by determining what widget you want tocreate, for instance, a
button. Sothefunction you needtocall is elm_button_add.Alladdfunction
is aconstructorof awidget. Storethe return value (Evas_Object pointer)
forreferencing tothat widget
• Supposedthat you want tochangethetext of thebutton. But you willnot
findelm_button_text_set orsimilaron thedocumentation
• Although EFL is flat-CAPI tosupport procedural, theback-end of itsAPI is
actually an object-orientedAPI.Wecan call thefunction of its parent type
• Theroot of the typeis widget (called as object in the code), so you can call
many elm_object functions on button, oneof it is elm_object_text_set.
Supply theEvas_Object pointertothefunction andit willwork as you
might expect
Page 32
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
WidgetsinYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
33. DeveloperWorkshop
Don’t forget these things!
• Widgets are always in hidden state when created
Always callevas_object_show foreach widget you created
• Widgets are always in zerosize when created
Tolet EFL automatically sizeyour widgets tofill available containers, always call:
evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
• Supply the parentcontainerwhencreatingyour widget
If you want toaddlabel toa box, call elm_label_add andsupply Evas_Object
pointertothebox.This is toensure EFL allocates memory block in correct order. So
when parent widget is removed, EFL also deallocate thechild widget
• Always store the Evas_Object pointerreturned by add function
Oryou cannot access your widget in easy way
• Do not freethe Evas_Object pointer
This willmess up yourapplication. EFL automatically manages thememory
allocation of its widgets. Donot outsmart thelibrary, only takecare of your own
allocated memory
Page 33
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
WidgetsinYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
34. DeveloperWorkshop
Making the widget interactive
• Thewidget can receive event from user, such as click, hover, etc.
• EFL libraries is event-driven library. We can attach an event handler to listen to
specificevent andact accordingly as wedesired
• Severalimportant types of Events on EFL library:
– SmartEvent
Event of a “smart” widget.Basicallyahigh-levelevent such as clicked,pressed,unpressed,
etc
– EvasEvent
Amore lower levelevent of aUI object such as mouseup, mousemove, keydown, show,
hide,resize,etc
– Edje Event
Event which are triggeredfrom EDJEstylesheet program.WillbediscussedinApp Layouting
section
Page 34
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
Widgets inYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
35. DeveloperWorkshop
Creating callback functionto be called
on an event
• Callback function usually will receive pointer totriggering widget, an event data,
anduserstatesuppliedwhen registering for an event
• Createa function tobe called by EFL when specificfunction occurs.The function has
tohaveparameters as follow
– SmartEvent
smart_event_callback_name(void* data, Evas_Object* obj, void* event_info)
– EvasEvent
evas_event_callback_name(void* data, Evas* evas, Evas_Object* obj, void* event_info)
– Edje Event
edje_event_callback_name(void* data, Evas_Object* obj, const char* emission, const
char* source)
• Datapointercan be usedtostoreuser datatobe accessed by callback function
• BecauseC does not have ‘this’ tostoreinstance data, you haveto supply it using
datapointer
Page 35
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
Widgets inYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
36. DeveloperWorkshop
How to store user data
• Tostoreuserdata, wehave tostore it in struct datatype.
• It is recommendedtostore Evas_Object pointer, as well as business logic variables in
struct
• Try tonot storethestruct forstoring view datain global variable. Allocate the struct
dynamically when creating theview. This is toensure the view can be instantiated
morethan once
• Perform deinitialization using the callback event for EVAS_OBJECT_DEL of the
containerwidget, sothe data struct will be deallocated when thecontainer widget is
destroyed
• You can also attachpointer tothe struct toa widget object bycalling
evas_object_data_set
Page 36
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
Widgets inYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
37. DeveloperWorkshop
AdvancedWidget:Creating widget by
composingother widgets
• SomeUserInterface elements might
not available out-of-the-box from EFL
libraries, sowe have tocompose
multiplewidgets toachieve theUI we
expect
• Forexample: drop down widget has to
becomposedof context popup widget
andbutton widget
• If yourUI element does not available,
createa function toconstruct yourUI
elements andreuse it across the
program
• SeeUIComponents sampleproject to
seesomewidget composition
examplePage 37
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
Widgets inYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
38. DeveloperWorkshop
AdvancedWidget:Customizing
contentof list using widgets
• EFL provides acustomizablelist
widget (genericlist/genlist) which can
beusefulcreating types of list
• Genlist can provide item class which
can have acallback function toget a
widget forspecific part of the list
• Wecan even customizethe item
layout using EDCfile(will be explained
furtherlater)
Page 38
Intro
HelloNative
EFLLibraries
What is it?
AvailableWidgets
Widgets inYourApp
InteractiveWidget
AdvancedWidget
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
39. DeveloperWorkshop
TPK Package
Layouting the app using EDJE
• EFL provideastylesheet-like
mechanism todefine layout, called
EDJE
• EDJE consist of EDCsourcefile, which
willbe compiled intoEDJ file tobe
loadedinto runtime
• EDCfileis adoptedfrom LUA
programming language. Basically it is
adeclarative script defining layout
position andsize
• You maysayit is theCSS for native
app
Page 39
Intro
HelloNative
EFLLibraries
AppLayouting
Whatis EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
EDCstylefile
(.edc)
C codefile(.c/.cpp)
EDJfile(.edj)
Executable
edje_cccompiler
GCC/LLVM
compiler
Compile
Package
Load
40. DeveloperWorkshop
Writing EDC file using Enventor
• Tizen SDK provides Enventorwhich is
an (almost)WYSIWYG editorforEDC
file
• Thelayout wecreate in Enventorwill
beexactly similar when loaded to the
real application. minor tweaksuch as
scaling tomakeeverything looks right
• EDJE can alsohave aprogram script
that can be usedfor animation or
changing stateof thestyle
• Thereare additional powerfultools to
debug yourEDCscript: edje_player. It
can “run” theEDJ file and see what it
behaves without running theentire
application. Findit on your Tizen SDK
folder
Page 40
Intro
HelloNative
EFLLibraries
AppLayouting
Whatis EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
41. DeveloperWorkshop
EDC file basic structures
• EDCfiles is a declarative file with tree
structure, just likeXML, but withC-like
syntax (with braces). Each elements
has attributes that defines thedetail
of theelements.
• Theroot of EDCfile is collections
• Todefinea style, we declare group
insidethecollection. We have togive
it name.
• A group can have multipleparts.
Parts arethe building blocks of your
layout.You can compose(almost)
unlimitednumberof part for each
group.
Page 41
Intro
HelloNative
EFLLibraries
AppLayouting
What is EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
collections {
base_scale: 1.0;
group { name: "main";
parts {
part {
name: "bg";
type: RECT;
scale: 1;
description {
state: "default" 0.0;
color: 30 31 34 255;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
}
}
}
}
}
42. DeveloperWorkshop
Part types available on EDC file
• Basically EDCfiles only provide
primitivegraphical types. Below are
someimportant types
– RECT
A primitive rectangle
– TEXT/TEXTBLOCK
A text.DifferencesonlyTextblockcan
be multilineandbe set
programmatically
– IMAGE
Animage
– SWALLOW
Anareawhichcancontainsany
Elementarywidget.The importanttype
ofpart
• Seehttp://bit.ly/EFLEDC fordetails
on structureof EDCfile
• Each typecan have their own
attributes which can be set. Set the
attributes on description
declaration
• Most common attributes are:
– Color
Colordefined in R GB A one-byte
values in decimal,separated byspace
– Rel1/Rel2
Positioning ofthepart relativeto
otherpart element.Willbe explained
later
– Min/Max
Minimum/maximum sizeof thepart
Page 42
Intro
HelloNative
EFLLibraries
AppLayouting
What is EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
43. DeveloperWorkshop
Positioning object part in EDC file
• Part in EDCcan be positioned
relatively from other part. This is the
default mechanism in EDC
• Rel1/Rel2 attributes definethe other
part nameas the anchor point to
computetheposition of thepart
• Rel1 is thetop-left position, Rel2 is
thebottom-right position.Thepart
willthen be stretched between those
twopoints
• Therelative point is taken from the
position of anchored part.The point
is calculated as percentage between
0.0 to1.0 ofX&Yaxis of theanchored
part
Page 43
Intro
HelloNative
EFLLibraries
AppLayouting
What is EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
Thispart
Rel1
Anchor
Rel2
Anchor
Relative: 1.0 1.0
Relative: 0.0 0.0
44. DeveloperWorkshop
Relative position of a part
• Thediagram in left can describe how
relative positioning works in EDC
• You can usefractional amount as
relative. If you use0.5 0.5, then the
relative position will be theexact
centerpoint of thepart
• You can also not supply anypart
nameforrelative anchor. TheEDC
willusethe root canvas area as
anchorpart
• Seehttp://bit.ly/TizenPartPosition for
details on positioning part on EDC
file
Page 44
Intro
HelloNative
EFLLibraries
AppLayouting
What is EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
Rel
0.0 0.0
0.0 1.0 1.0 1.0
1.0 0.0
y
x
45. DeveloperWorkshop
Using EDJE in your application
• ToutilizeEDJE in your application,
you havetouselayout widget
• Callelm_layout_file_set toset
EDJ file tothelayout widget
• If you haveSwallow orText part in
yourEDJE layout, you can set it by
using
elm_layout_part_content_set
andelm_layout_part_text_set to
supply thewidget/text tothe
specifiedpart
Page 45
Intro
HelloNative
EFLLibraries
AppLayouting
What is EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
46. DeveloperWorkshop
OverridingTizen theme with your own
EDC file
• It is possibletooverride Tizen default
widget styleanduseyour own
implementation
• Don’t start from zero. Obtain the
original sourceof Tizen widget EDC
file. Pulldirectly fromTizen source
http://review.tizen.org/git
• Copy theEDCsourceyou want to
style, andput it on EDCfile on your
project. It might cannot becompiled
forthefirst time. Fix one byone the
error. Usually it is missing include
definition or missing file.
Page 46
Intro
HelloNative
EFLLibraries
AppLayouting
What is EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
47. DeveloperWorkshop
Use the widget override you created in
your application
• Twoway of embedding themetoyour application:
– Overlay
Replaceentirelythedefault themewith our implementation.Ensure thegroup name is
exactlysimilarwith theconvention of Elementarywidget
– Extensions
Extendthethemewhich addnew group name to thecollection.Does not replaceany
default group
Page 47
Intro
HelloNative
EFLLibraries
AppLayouting
What is EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
defaultTheme = elm_theme_new();
elm_theme_ref_set(defaultTheme, elm_theme_default_get());
elm_theme_overlay_add(defaultTheme, “/res/edc/naviframe.edc”);
elm_object_theme_set(rootFrame, defaultTheme);
48. DeveloperWorkshop
CustomizingGenlist style default style
• Thedefault styleis boring
• By extending default theme, wecan
defineour own genlist style. It is very
usefultocreate yourown item style
forgenlist
• Follow theprocedure of copying the
original sourcefrom Tizen source,
then start modifying yours
Page 48
Intro
HelloNative
EFLLibraries
AppLayouting
What is EDJE
Structureof EDC file
Themein NativeApp
CustomizingGenlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
49. DeveloperWorkshop
TizenUI Builder, simpler way to
developUI
• Ratherthan coding yourself, you can
let theIDE generates the code for you
• Tizen IDE providesWYSIWYG editor
forbuilding nativeapp, similar with
Androidlayout editor
• But you havetodecide in the
beginning: want tocode yourself, or
utilizeUI builder.You cannot change
yourmindafter that
• Start new project andselect UI
Builder fromTemplate
Page 49
Intro
HelloNative
EFLLibraries
AppLayouting
What is EDJE
Structureof EDC file
Themein NativeApp
Customizing Genlist
TizenUI Builder
Codingin C++
UsefulLibraries
SampleProject
50. DeveloperWorkshop
Ifyou thinkC is too clumsy, code in
C++!
• C is procedural, C++ is object-
oriented
• C++ has classes, C only have
struct
• C++ has standard library that is
very stable and easy to use,
while C does not. In Tizen you
are equipped with some utilities,
like EFL Eina, but once again, it
is procedural
• C++ is typesafe. In C you deal
with casting everytime, might
lead to bug
• Tizen API is flat-C libraries, not
readily to be implemented in
C++ out of the box
• C++ is a massive language, quite
differ with Java/Objective-C, add
more learning curve
• Additional code size and
complexity created by the
compiler, as well as memory
footprint (but still far-far less
than web-based app)
Pros Cons
Intro
HelloNative
EFLLibraries
AppLayouting
Codingin C++
WhyC++?
SRINC++ Framework
SomeExamples
UsefulLibraries
SampleProject
Page 50
51. DeveloperWorkshop
SRINC++ Framework Libraries: Our
library to codeTizen NativeApp inC++
• Ourresearch product for Tizen
development
• Havebeen implemented in all our
Tizen projects in SRIN(Yes, weall
codeour projects in nativeC++)
• Was born becausewe fed up of
coding in procedural during our first
two-weeks of developing native
Tizen app
• The library is built as Shared
Library
• Your project can compile and
link against the library
• Define application pattern using
popular MVC pattern. This helps
in organizing app and help
migrating from popular platform
such as Android or iOS
• Simplify boilerplate codes that
resulted from using flat-C API of
Tizen API
Intro
HelloNative
EFLLibraries
AppLayouting
Codingin C++
WhyC++?
SRINC++ Framework
SomeExamples
UsefulLibraries
SampleProject
Page 51
52. DeveloperWorkshop
Example:HelioskyApp, aWordpress
blog client inTizen
• My blog: http://heliosky.com using
Wordpress.UsingWP REST 2.0 asAPI
toconnect tomy blog
• Just run andseeit in action
Intro
HelloNative
EFLLibraries
AppLayouting
Codingin C++
WhyC++?
SRINC++ Framework
SomeExamples
UsefulLibraries
SampleProject
Page 52
53. DeveloperWorkshop
Useful libraries that can enhance your
Tizen native development
• Weadmit,Tizen NativeAPI sometimes is hard touse. Sohere’s someof libraries
that weusein our projects
• RapidJSON (http://rapidjson.org)
C++ way toparseJSON.Way simplerand straightforwardthan usingGlib provided
byTizen
• QuinceLib (http://quince-lib.org)
ORM forSQLiteinTizen.Very simpleway rather than writing your own SQL query
andfetching data from memory
• Allthoselibraries is embedded in ourSRINC++ FrameworkLibraries. Wewill share
it soon
• Registeryoure-mail onGitLab, and also register to http://bit.ly/SRINCPPLIB and
when weare ready to publish, wewill notify you!
Intro
HelloNative
EFLLibraries
AppLayouting
Codingin C++
UsefulLibraries
SampleProject
Page 53