Jan 2019
7 Mon
8 Tue
9 Wed
10 Thu 09:15 AM – 05:40 PM IST
11 Fri
12 Sat
13 Sun
Accepting submissions
Not accepting submissions
JSFoo Pune 2019 is a single track event with:
We are accepting talks on the following topics:
Proposals will be filtered and shortlisted by a community of past speakers and those who have been associated with JSFoo since 2011.
** Make sure to add links to videos/slide decks when submitting proposals. We will not review proposals without detailed outlines or slide decks and preview videos.**
The first filter for every proposal is whether the technology or solution you are referring to is open source or not. If you are referring to a proprietary technology, consider picking up a sponsored session.
The criteria for selecting proposals, in the order of importance, are:
No one submits the perfect proposal in the first instance. We therefore encourage you to:
Our editorial team also helps potential speakers in refining their talk ideas, and rehearsing at least twice - before the main conference - to sharpen the insights presented in the talk.
Last date for submissions: Closed
JSFoo Pune: 10 January 2019, at MCCIA Trade Tower, Senapati Bapat Rd, Pune.
Hands-on workshops: 11 January 2019, location to be announced.
Full schedule announcement: 15 November 2018
For tickets and sponsorships, contact info@hasgeek.com or call +91-7676332020.
Reactive Angular with NgRx - Building enterprise level Angular app with NgRxOur web applications are all about states full of data and how we manage them. Once your Angular app grows larger it becomes hard to deal with application states, just with the services. This is where NgRx comes into the picture. A reducer based state management library that makes the lives of Angular developers super easy. In this talk, I’ll be talking about how we faced problem with multi direc… more
Section: Full talk
Technical level: Intermediate
|
Using SVG in React NativeVector graphics is in fact the best way to provide great visualization and interaction combined. It exist on all platforms in some way or form, so it’s just natural to use it in React Native. In this talk, I’ll show you how I integrated the use of SVG with the opinionated component and state system of React, but in the same time keeping things highly performant when interacting with the UI thread… more
Technical level: Intermediate
|
Demystifying component architecture in AngularWeb applications today are getting more and more complex with hundreds of components or more. There are a lot of opinionated views on the architecture of our overall application but most of the times we overlook design and architecture of our components. There are three different ways we can design our components - container components, dumb component and smart components. In this talk I’ll be ta… more
Section: Full talk
Technical level: Intermediate
|
Moving a huge AngularJS App to React, progressively at Microsoft ScaleWhat do you do when have a huge Javascript app running in Angular and you want to move into React ? Rewriting the app in a big bang manner is not an option when you have hundreds of developers across 3 continents comitting code that results in a Non Gzip bundle size of almost 20 MB non-vendor Javascript! more
Section: Full talk
Technical level: Intermediate
|
React : Rethinking the best practices!Main takeaways of the talk is to rethink the practices used in designing the application. I would shed light on React Architecture and the best practices one can use to design a better performant app in JS. There would be certain short demos of the features one should implement within the application. more
Technical level: Beginner
|
Why we chose Apollo GraphQl over Redux and Mobx??We migrated Microsoft Teams App from Angular to React recently. The challenge was to choose the state management technique for the new react App. While the community seems fairly divided between Mobx and Redux, we @ Microsoft chose to stick with Apollo. more
Technical level: Intermediate
|
Refactoring React: from good to greatThis is a talk about code quality for people already working with React. Learn how to identify code smells in your React app and how to improve it. more
Section: Full talk
Technical level: Advanced
|
A glimpse of GraphQL: Frontend developers’ life is easy now!In this talk we’ll walk through our journey to GraphQL at Adobe, and highlight a few of our successes and failures along the way. more
Section: Crisp talk
Technical level: Beginner
|
A React Native developer's journey of building PWAAre you a React Native developer and wants to get your hands on web-apps or PWA? I can tell you about my experience on building a PWA using react-native-web. The challenges ranges from understanding differences between a browser-app and a mobile app to knowing webpacks. These subtle differences may help you from preventing the mistakes I did. more
Section: Crisp talk
Technical level: Intermediate
|
Building Front End Applications at ScaleBuilding large scale applications requires careful thought about choice of framework and tools from a development to deployment perspective. One needs to look at how components will be reused, configurations that can be customized per environment , make descisions as to wether the app needs to be server rendered or client rendered or maybe a combination of both. This talk outlines the various goa… more
Section: Full talk
Technical level: Intermediate
|
Cross Browser Add-ons and How to build oneExtensions (or Add-ons) can extend and modify the capability of a browser. Browser extensions help us to personalize the browser as per our requirement. We’ll be walking through some of the existing extensions in specific categories to outline the potential of extensions. Participants will be focused on building their own extension easily by having basic knowledge of JavaScript, which is now poss… more
Section: Full talk
Technical level: Intermediate
|
Introduction to Reactive Programming with RxJSCover the basics of reactive programming and explaing what it means to think reactively. Explain why one would choose reactive programming, stating the pros and cons. Introduce RxJS. more
Section: Crisp talk
Technical level: Beginner
|
Optimizing Angular ComponentsTeach a couple of simple tricks to optimize the runtime performance of Angular components. Also go in slight details about how Angular runs change detection and determines when and how to update the DOM more
Section: Crisp talk
Technical level: Intermediate
|
Building secure applications with keycloak (OIDC/JWT)Building an enterprise level single sign-on application with the help of keycloak (Open Source Identity and Access Management). And understanding the way to secure your application; frontend & backend API’s. Managing user federation with minimum configuration. more
Section: Full talk
Technical level: Intermediate
|
Speed as a feature - Performance cadence for frontend teamsIf you are a web developer, you must have worked on a web app that was.. slow. It’s your job to fix it and you want to poke around the internals, see which function takes the longest amount of time and what you can optimise. So you load up your app on Chrome and open the performance profiler tab. You record a few interaction.BOOM! you are presented with a screen full of colorful visualizations! A… more
Section: Full talk
Technical level: Intermediate
|
Building Alexa Skills with Node.jsAlexa is an intelligent personal assistant developed by Amazon used in devices such as the Echo as well as third party devices such as Sonos. AI IS taking over the world and Amazon is at the forefront. Developers can build apps or “Skills” for Alexa using Node.js. The Alexa Skill ecosystem is extremely new and immature. I will run you through writing, locally testing, and properly deploying a bas… more
Technical level: Intermediate
|
Progressive Javascript: Why React when you can Vue?We had just started to realize that Angular was subject to bloated sluggishness syndrome – when the content expanded, the page would drag and throttle – along came the React with Redux superhero. With the tides of scalability on the rise, React became popular among developers as it took care of the content model, the immutable javascript and the boilerplates for you. Meanwhile, as UIs become comp… more
Section: Full talk
Technical level: Intermediate
|
Alert! Your Node JS application just crashed!While error handling is not new to JavaScript or Node JS application development, it still seems that a lot of people aren’t quite sure how to handle errors in the most productive way. Actually, it’s an issue that affects most programmers. We like our code to work well, so we tend to run it in such a way that maximizes its chances of success. One of the side effects of this tendency is that bugs … more
Section: Full talk
Technical level: Intermediate
|
Full-stack-JavaScript based MicroServices for complete automation of Higher Education InstitutionsA diverse portfolio of use cases catering different set of stakeholders with varied interests and goals combined with a spread in different categories of Higher Education Institutions - Engineering / Technical Institution, Arts and Science College, Institute of Management, Institute of Medical Science & Research. The talk is focused on how we realised this diverse need with the help of MicroServi… more
Section: Full talk
Technical level: Intermediate
|
How Not to Do Authentication in Node.jsGoogle the term “authentication in node.js” and you will be greated with thousands of tutorials on how to create a database table with the fields and verify the hash; that’s it. The problem is that security and authentication is not that simple; it can be easy, but you need to work a little for that. In this talk, we will go over some bad methods of authentication and then we’ll look at the good … more
Technical level: Intermediate
|
Performance Feat. WebpackI believe that performance is a must for modern websites and web-based business, hence this talk will be focused on understanding performance, and how the latest version of webpack and its great plugin systems addresses a lot of concerns,we will cover the following techniques more
Section: Full talk
Technical level: Intermediate
|
Create Cross-Platform Native Mobile Games with JavaScriptThe talk would focus on how can we build cross-platform native mobile games with JavaScript that are at par with games built natively or by using various other game engines like Unity. We will briefly look into the available options in open source and dive deep into some key examples about the games that have made it big on App Store and Play Store and were built using JavaScript as the main lang… more
Section: Crisp talk
Technical level: Intermediate
|
End-to-End testing made easy with Nightwatch.Testing is a crucial part of the whole development process and at the same time its cumbersome and pain in some parts of the anatomy, as you have to deal with ever-changing requirements thus an automates test suit comes handy in such situations while you sit back and search for your next aahaa moments. NIghtwatch is a nodejs based tool that can help you in automating your end to end testing. more
Section: Crisp talk
Technical level: Beginner
|
Why did we choose Vue.js?Technologies rapidly change. Especially the ones for web. A new java script framework gets introduced every now and then. However, very few web frameworks have been able to captured attention for time span longer than few months. Angular, React and Vue.js are few of those. more
Section: Crisp talk
Technical level: Beginner
|
The vuetiful journey from AngularJS to Vue - Migration of a SaaS product suite in phasesMigrating the front-end for an existing SaaS product is a challenge in itself but migrating all the front-ends of an enterprise SaaS suite is another beast altogether. more
Section: Full talk
Technical level: Intermediate
|
Managing State with Vuex in a Vue applicationImagine working on a large web app with hundreds of routes and components. Wouldn’t it be easier if we could store all the data we ever need inside the app, in one centralized storage location? more
Section: Full talk
Technical level: Intermediate
|
Building applications with no fear with NO frameworksNow-a-days, with all the frameworks in place, its easy to build application. Going a step further - Routing, AJAX api calls, Component-architecture and even security is provided by all frameworks. So, its a complete package and we write our application on top of these framework/library dependencies. But have you ever tried to build same library which gives similar API(not exactly like though). Ma… more
Section: Crisp talk
Technical level: Intermediate
|
Chop that code! Shake that tree! - A data insight towards understanding how nuances affect performance.Performance today has become a prime concern of apps as who doesn’t love a fast app. In today’s world which is full of distractions, there can be nothing more difficult than engaging the user with a slow app. If your app is slow, gradually user will get frustrated and leave it. As developers, we are aware mostly about major factors affecting an app’s performance, like too many scripts requests et… more
Section: Crisp talk
Technical level: Intermediate
|
dead code creeping beware!Ever since the start of programming one of the aim has been to minimize the application size. One of the major hinderance to achieve this goal has always been dead code. As a developer it is very important to understand what a dead code is and how it affects your application. In this talk we’ll try to understand dead code, it’s adverse effects on an application and some practices and tools which … more
Section: Crisp talk
Technical level: Beginner
|
Reactivity Systems in Vue and React, What they are and How they workHow do Vue and React know which component to update when another one changes? DOM Manipulation is expensive, how do they make sure they’re doing it in the most performant way possible. more
Technical level: Beginner
|
The new avatar of CLI! - for a better developer experienceA good CLI (command line interface) can ease developer’s task. Nowadays different frameworks are coming up with a variety of features in their respective CLIs. Vue has recently launched their CLI v3 which has a plugin-based architecture that can allow developers to seamlessly add any plugin in their ongoing development. Moreover, it is also shipped with plugins for PWA (Progressive Web App), Type… more
Section: Crisp talk
Technical level: Beginner
|
JavaScript Symbol: more than a data typeSymbol is a new primitive type introduced in ES2015 specification, which has with many special qualities. They can generally be used as object properties to avoid name collisions. And a few symbols are defined by the standard itself each of which has its own special purpose. In this talk, we shall understand the Symbol type and the standard symbols of the language in detail. Also the use cases an… more
Section: Crisp talk
Technical level: Intermediate
|
Building Isomorphic JavaScript Apps Faster with Next.jsIsomorphic apps are those which runs both on client and server. Next.js is the framework for developing server-side rendered react applications. In this talk we are going to discuss how Next.js makes our life simple when we are developing apps with React and Node. It also talks about how painful it is to develop a complete basic web application (with proper authentication and user sessions) with … more
Section: Crisp talk
Technical level: Intermediate
|
Server-side or Client-side rendering, what is best for you?Different applications need different kind of approach. Some need to have server-side rendering while some are just fine client-side rendering. It becomes difficult to decide which approach is better for your application based on the various pros and cons. The audience will get to know about the key differences of these approaches, and what is best suitable for their application. The various fram… more
Section: Crisp talk
Technical level: Intermediate
|
HTML5 Video Player With Open Source Tech @ HotstarHotstar is a video streaming platform which has put India on the map of tech companies. We have a diverse user base which accesses our web app from a host of browser & device combination. When it came to building our HTML5 player we chose to use open-source technologies of videojs, hls.js, and dashjs to build a secure, robust and highly performant video player. more
Section: Full talk
Technical level: Intermediate
|
What web can do - How far web has bridged the gap vs nativeWeb has come a long way vs native apps. Browser makers are adding plethora of APIs that are making the task of choosing web or native an obvious one. (PS:If you are a native or backend dev, Answer is web :) ) Talk will look at the progress web has made over the years. more
Section: Full talk
Technical level: Beginner
|
Emerging developments in UI ArchitectureHow UI is being changed in context of better experience Two significant architectiral change - SPA - Single Page Architecture, Client Cloud Architecture Will talk of my experience of working with customers more
Section: Crisp talk
Technical level: Intermediate
|
React Suspense, lazy and all about HooksSophie Alpert and Dan Abramov introduced Hooks, which are a new proposal that adds the ability to access features such as state without writing a JavaScript class. Hooks promise to dramatically simplify the code and are currently available in a React 16.7 alpha release. more
Section: Full talk
Technical level: Intermediate
|
Building an interactive learning serviceUser onboarding is an important aspect of offering SAAS but as apps start to grow and add different new features, it can become a little complex for new users to navigate and discover different functionalities. more
Section: Full talk
Technical level: Intermediate
|
Animations in React NativeThis talk will focus on the Animations in React Native using a demo. Animations are tricky in React Native and there’s are lot of metrics that need to be kept in mind while doing animations that feel smooth. more
Section: Crisp talk
Technical level: Beginner
|
Voice User Interfaces - How designing for the ear differs from designing for screensThis talk provides an overview of the history of design in technology, highlighting what we have learned over the years in developing for a screen. Designing for the ear is different from developing for the screen though. This talk establishes best practices for voice-first design using the Alexa Skills Kit contrasting them with GUI design principles. You will learn of the similarities and differ… more
Section: Full talk
Technical level: Intermediate
|
Charting in 2018A look at the time we at Frappe needed modern charts and looked at Github analytics for design inspiration, and after scouring the field for alternatives like C3 and Chart.js, decided to make Frappe Charts, a zero dependency Vanilla JS/SVG charting library that made it to the 4th place for a day on HN, gathered over 11k stars on Github, and ultimately got featured in the Github Octoverse this yea… more
Section: Crisp talk
Technical level: Beginner
|
SPAs are dead long live MicrofrontendsThe frontend world is obsessed with building Single Page Apps (SPAs). However SPAs are the monoliths of the frontend world and carry the same challenges and drawbacks backend teams faced with their monolithic applications. Microfrontends is an alternative approach to building apps using JS frameworks that are scalable, performant and easy to maintain. more
Technical level: Intermediate
|
Everything you need to know about client-side malicious code execution.Malicious Code Execution is considered to be one of the most serious security issues across any technology. This has plagued client-side JavaScript in the form of Cross-site Scripting. Though this issue has been around since the early days of the web, its variations, prevention techniques and detection mechanisms have evolved over time. This talk will cover everything a modern developer absolutel… more
Section: Full talk
Technical level: Intermediate
|
How lightning deploys helped ShuttlFrontend deploys previously have been a slow, and often manual process. Even then, testing different branches, rolling back releases with bugs, etc. have been pretty painful. more
Technical level: Intermediate
|
Array.map is more interesting than you probably think!You probably already know about JS’s Array.map, and you probably use it everyday. However, there’s a more fundamental, more beautiful thing happening with Array.map that you’ve surely noticed, but might not have thought deeply about. This live-coding talk will explore what we can learn from Array.map, to help us build better, more reliable, bug-free programs. more
Section: Full talk
Technical level: Intermediate
|
Building Micro FrontendsMicroservices architecture helped us achieve speed, scale, and quality in the backend. With the current front-end trends, there are around 100+ JavaScript UI frameworks or even more. While we can leverage the innovations in the newer frameworks we are leaving behind and often miss the qualities of older frameworks which can be converged. With the new innovations in the Front End World, we can now… more
Technical level: Intermediate
|