Progressive Web Apps are a new approach to application development that combines the best of the web and the best of native apps. They are reliable, fast and engaging like native apps while also being responsive and capable of being installed like regular web pages. The key technologies that enable Progressive Web Apps are service workers, app manifests, and responsive design. Service workers allow for caching assets and serving cached responses even when offline. App manifests provide metadata that makes the app feel like a native application to the user. Responsive design ensures the app works across different screen sizes.
Jaggery is a framework to write webapps and HTTP-focused web services for all aspects of the application: front-end, communication, Server-side logic and persistence in pure Javascript. One of the intents of this framework is to reduce the gap between writing web apps and web services. As a pure Javascript server-side scripting engine, Jaggery combines all the strengths of Javascript with flexibility and freedom at both the development and deployment stages. Most JavaScript webapp development mechanisms restrict developers to a framework-specific structure or patterns, which demand an additional learning curve. By contrast, with Jaggery, any developers who are versed in Javascript have everything they need to get going.
This document provides a visual resume for Milan. It summarizes his work experience developing systems using Microsoft technologies like C# and ASP.NET. It also outlines his experience managing projects and teams. Finally, it provides contact information for Milan.
This document discusses unobtrusive JavaScript and how it separates JavaScript behavior from HTML markup. Unobtrusive JavaScript allows web pages to degrade gracefully when JavaScript is disabled, as the functionality is not coupled to the document structure. It provides an example of unobtrusive JavaScript that is completely separate from the markup and reusable. The document recommends using frameworks like jQuery to select elements and enhance the user experience with JavaScript after the site functions without it.
This document discusses single page applications (SPAs) and provides an overview of what SPAs are and their advantages compared to traditional websites. It defines SPAs as web applications that fit on a single web page and provide a more desktop-like user experience through features like fluid page transitions without reloads. The document outlines how SPAs move more of the application logic to the client, fetch data on demand, and support features like back/forward buttons and offline use. Examples of SPAs include Gmail and merchant locators.
JavaScript is a scripting language that adds interactivity to HTML pages. It is embedded directly into HTML and allows dynamic updating of pages without reloading. JavaScript can react to events, read/write HTML elements, and validate data. AJAX uses JavaScript asynchronously to exchange small amounts of data with a server in the background without reloading the whole page. Common uses include Google Maps, Gmail, YouTube, and Facebook tabs.
Microsoft Blazor which allows developers to leverage the existing skills and makes .NET syntaxes render within the browser with the blend of Razor and the taste of Angular. It supports latest Single Page Application demanding technologies such as Routing, Layouting and Dependency Injection.
As React, Vue, Angular and other Frontend frameworks mature, more and more projects embrace them in production. It has reached a point where a project written in React wants to use Angular or Vue components (and vice versa). We will explore pragmatic ways to use components created using different frameworks in the same app. I am working on an Angular project for one of our clients. It recently acquired a company which is invested into React for few years. There is a plan to merge our products which has a lot of feature overlap. To use capabilities of existing teams, it was decided to use React components within Angular app. This is when we explored all possibilities of inter operations between frameworks. This talk will be case study of our work and what you can take away from it
This document provides an overview and roadmap for an introductory course on Node.js. The course will cover Node basics, building web servers with Express.js, using MongoDB and Mongoose for the database, and building both simple and more complex applications. Expectations are a familiarity with JavaScript, databases, and basic web development principles. Asynchronous programming and the event loop model will also be discussed.
For many years we have concentrated on back-end and network latency and ignored the processing time on the user device. Today, we spent most time on small mobile devices, compared to laptops they’re underpowered and web performance suffers. While handheld devices get more powerful, web pages get more and more complex. Especially the usage of javascript libraries and css framworks is very computational expensive. Based on data from real users, we quantify the relative importance of network and device for web performance. We also benchmark mobile devices and correlate their power to the web performance they achieve.
Diapositivas usadas durante la charla sobre Azure Functions en el .NET Conf UY el día 1 de octubre de 2016.
This document discusses building isomorphic JavaScript applications. It begins by explaining the benefits of isomorphic apps such as delivering the best experience to all users regardless of device or browser capabilities. It then describes how to build isomorphic apps using Node.js, a microservice architecture, and React for a unified coding experience. Finally, it highlights how isomorphic apps with React make development more productive and enjoyable by fixing the DOM issues and allowing developers to focus on what to build rather than how to build it.
Remember back when AJAX completely changed what was possible in the desktop web? Progressive web apps are that same fundamental shift for the mobile web." said Rahul Row-Chowdhury (Google’s product lead for chrome and the web platform) on stage at Google I/O 2016. - Progressive web apps use new capabilities to deliver an app-like user experience. In this talk we will take a look at push notifications, app shell, RAIL and other new technologies.
This document discusses building single page applications (SPAs) using AngularJS for the front-end framework, NancyFx for the back-end API framework, and MongoDB for data storage. It describes characteristics of SPAs and how they work, outlines advantages of the AngularJS, NancyFx, and MongoDB stack, and provides an example code repository for a demo SPA application built with this technology trio. Potential use cases and challenges of the SPA approach are also highlighted.
The document discusses web performance optimization techniques. It introduces tools in the Navigation Timing and Resource Timing APIs to measure page load times and resource loading speeds. It presents methods to instrument pages to measure parts of the loading process. The document also discusses upcoming web performance APIs like Beacon, Navigation Timing 2, and ways to prioritize visible resources. Polyfilling techniques are mentioned to bring these capabilities to older browsers. Real-world uses are discussed, like CDN monitoring and integrating performance data with analytics.
Jamstack sites have received huge popularity lately. Muhammad Muhsin has explored WordPress as a viable back-end API for Jamstack, which turned out to be a great solution. He has built multiple Jamstack sites using WordPress for data via REST API or GraphQL. In this session, Muhammad introduces WordPress as an API for Jamstack sites.
Last year I decided to check out my own personal site in Google PageSpeed Insights. Even though it’s only a simple static flat-file site, Google didn’t give it a very good score. I decided to see if things could be improved. This presentation covers what I discovered, and what I was able to do about it.
This document discusses building applications using a demand-driven architecture where the client describes the data it needs from the server. It provides examples in Clojure of defining Post and Timeline components that specify the data queries. The approach shifts ownership of data to the client, allows the server to return exactly what is needed, and has advantages like smaller payloads, no unnecessary AJAX calls, and reusable components.
This document provides an introduction to web components and discusses their benefits. It explains that web components bring a native component model to HTML, allowing for reusable UI functionality both within and across applications. The document demonstrates several types of web components, including custom elements, HTML templates, HTML imports, and shadow DOM. It also discusses browser support for web components and strategies for improving support, such as using polyfills.
This document discusses various topics related to developing web apps, including HTML5, responsive design, touch events, offline capabilities, and debugging tools. It provides links to resources on HTML5 features like media queries, SVG, web workers, and the page visibility API. It also covers techniques for adapting content like responsive web design, progressive enhancement, and server-side adaptation. Mobile browser stats and popular devices on Douban are mentioned. Frameworks like Bootstrap and tools like Weinre for debugging mobile apps are referenced.
This document discusses various techniques for making web applications work offline and with unreliable network connections, including: - The application cache manifest which allows specifying cached resources to work offline - Issues with the current manifest specification and potential enhancements - The window.applicationCache API for caching resources and monitoring cache status - Detecting online/offline status using the navigator.onLine property In 3 sentences or less, it summarizes approaches for offline web applications using the application cache manifest, applicationCache API, and navigator.onLine property.
There’s an old expression, that there are only 2 hard problems in computing: naming, cache invalidation and off-by-one errors. Building offline web apps is all about those hard problems. There are some different ways of storing stuff — such as html5 caching, html5 storage, sqllite, and even native stores such as contacts and calendars — and we’ll sing their praises. But the really hard problems are knowing what to store, whether the stuff is still good or needs refreshing, how much to store, how to resolve conflicts between the client and server, how to integrate with data-specific stores, all in a bewildering cacophony of network and storage limited devices. We’ll spend the bulk of our time on these hard problems, which is probably more useful than api description and sample code. Dave Orchard is Mobile Architect at Salesforce.com and located in Vancouver, Canada. This means being involved in many mobile platforms, architectures, tools, technologies and APIs. Prior to that, he was a co-founder of Ayogo Games and focused on iPhone and ruby/merb/mysql based casual social games. Back further in the mists of time, he was the Web standards lead for BEA Systems for 7 years, including being elected three times to 2 year terms on the W3C Technical Architecture Group chaired by Sir Tim Berners-Lee. Follow Dave on Twitter: @DaveO
This document discusses HTML5 on mobile devices. It begins by explaining why mobile web is growing and why HTML5 is well-suited for mobile. It then provides an overview of what HTML5 is and examples of features like forms, multimedia, geolocation that can be used on mobile. It also discusses considerations for mobile web development like responsive design and frameworks. The document recommends tools for mobile debugging and testing performance.
An overview of web development essentials that will help you as a user experience designer to not only understand how to integrate designs with development components, but also to learn some tips on interacting effectively with developers.
The Codeworks presentation on mobile front ends including PhoneGap, jQuery Mobile, CSS Shaders and Proto.
The document provides an overview of Google App Engine, a platform for developing and hosting web applications on Google's infrastructure. It discusses the different language runtimes, services, and development tools available on App Engine and highlights some example applications that have been built on the platform. The document also shares experiences from Latin American users and details some new features recently added to App Engine like cursors, task queues, and cron jobs.
The web is awesome despite it's detractors. But we can't forget our fundamentals when we're trying to forge ahead with new tech. This talk is about how to approach the building blocks of the web in a way that takes advantage of their strengths and avoids their weaknesses.
(reposting with clearer title) Performance tuning presentation from WindyCityRails 2010. Why performance matters The right way to approach it Front end testing tools Automated testing tools Common problems and the ways to solve them in Rails Rails specific tools bullet slim_scrooge rack bug request log analyzer rails indexes
Performance tuning presentation for Chicago Rails Conference. Focusing on Front end page improvements
These are slides from my CodeMash 2009 presentation on developing iPhone web applications using Grails, Groovy and iUI.
The document is a presentation on client side development in SharePoint using jQuery. It begins with introductions and an agenda. The agenda covers deploying and referencing scripts, a jQuery primer, debugging techniques, modifying default SharePoint forms, REST/CSOM/SPServices, third party libraries, and SharePoint hosted apps. It then discusses why client side development is useful and challenges like browser inconsistencies. Best practices covered include avoiding global variables and writing performant code. Various development tools are presented. Finally, a demo is shown of building a simple contract management solution using the techniques discussed.
Google Developer Days Japan 2009 - Designing OpenSocial Apps For Speed and Scale Original slides from Arne Roomann-Kurrik & Chris Chabot with a few Zen quotes and references added by me:-)
This document discusses responsive image techniques for adaptive web design. It begins by explaining browser sniffing versus feature testing, and recommends using feature testing to determine browser width, screen resolution, and bandwidth instead of browser sniffing. It then covers techniques like using background-size to control image sizes, SVG for smaller file sizes, and font-based solutions. The document also discusses server-side techniques like .htaccess rewrite rules and client-side techniques like picture and HiSRC. It advocates for a mobile-first approach using CSS media queries and a single pixel GIF for responsive images.
This document discusses how web design firms can compete with internal GIS teams by providing web-based GIS (WebGIS) applications. It notes that WebGIS requires learning new tools like JavaScript, AJAX, and RESTful services. To protect their work, internal GIS teams need to learn these new web technologies and prioritize usability over features to create responsive applications. The document advocates for an iterative development process with a focus on performance and usability testing.
The presentation I prepared for AndroidDeveloperDays Ankara’12. http://www.androiddeveloperdays.com/home/
This document discusses modern web applications using progressive web apps (PWA) and WebAssembly (WASM). It begins by defining a web application and describing challenges like performance issues. It then introduces PWAs and WASM as solutions, explaining what they are, how they work, and providing examples. The document shares links to starter kits and success stories to help readers get started with building modern web apps using these technologies.
Summary seminar of the possible functions and present state of google gears. For more useful information on similar topics visit www.silenceit.ca
This document discusses how to create mobile apps that feel native using only web technologies. It covers supporting features in Mobile Safari like local storage, CSS3 features, and geolocation. It recommends using web technologies over native due to quicker iteration times. Specific techniques covered include detecting browser type, adding home screen icons, startup images, going full screen, and viewport settings. The document also discusses frameworks like jQuery Mobile but notes native DOM APIs may be sufficient. It covers input features, touch vs click, animations, locking orientation, and performance tips. It acknowledges limitations of Android and webOS and recommends testing on actual devices. Finally, it discusses hybrid mobile frameworks like PhoneGap and Titanium that allow developing for multiple platforms using one code
Dokumen tersebut membahas tentang bahasa pemrograman Elixir dan framework Phoenix. Elixir adalah bahasa fungsional dan dinamis yang berjalan pada BEAM, sedangkan Phoenix adalah framework modern untuk membangun aplikasi web yang menerapkan MVC. Keduanya memiliki fitur-fitur seperti LiveView, PubSub dan Channel yang mendukung pengembangan aplikasi real-time.
Memilih karir sebagai developer adalah hal yang tepat untuk saat ini. Namun banyaknya pilihan terkadang bisa membuat kita bimbang. Apa saja pilihan yang kita punya? Slide presentasi berikut memaparkan beberapa diantaranya.
- Membahas perkembangan web dan aplikasi web - Kelebihan dan kekurangan mengembangkan aplikasi untuk web platform - Tentang PWA - Komponen utama PWA - Masa depan platform web
Remote working provides opportunities for flexible work arrangements but also presents challenges. It requires strong self-management and communication skills. Preparing for remote work involves treating yourself as the manager by setting goals and priorities. Communication is key, both synchronous and asynchronous. Remote workers must also find ways to maintain a healthy work-life balance and avoid isolation through community engagement and physical activity. Overall, remote work allows accessing new opportunities if one adapts to its requirements for independence and communication.
This document provides tips for how to learn programming. It emphasizes that programming is difficult but not impossible, and encourages finding problems to solve. It recommends finding your learning style, improving foundational skills, narrowing your focus, getting excited, and just coding. It also suggests getting help from others, being persistent, and developing a passion for programming in order to succeed.
AWS Amplify is a development platform that allows developers to build secure and scalable mobile and web applications quickly. It provides tools and services for continuous integration, hosting, functions, authentication, real-time data stores, serverless APIs, analytics, push notifications and more. Developers can get started by installing the Amplify CLI, initializing a project, and then adding features like authentication, storage, analytics and more through commands. The document demonstrates setting up and building a meetup app with features like user authentication and a serverless API in under 15 minutes using Amplify.
Pernah bingung gimana caranya sebuah framework menghasilkan sebuah kode output yang berbeda dengan kode yang kamu tulis? Penasaran sebetulnya apa yang terjadi dibalik layar dan gimana caranya kamu bisa belajar dari hal itu untuk memperbaiki kode yang kamu hasilkan?
Beriktu beberapa Web Browser API menarik yang layak dicoba seperti ambient light, device orientation dan lain sebagainya.
The document discusses what a minimum viable product (MVP) is and why and how to build one. It defines an MVP as the simplest version of a product that allows customers to be tested with minimum effort. Building an MVP focuses development on the core idea, allows for early testing and feedback, takes less time and resources. The document provides tips for building an MVP such as building less features, fixing budgets/time while flexing scope, releasing something daily, and breaking work into small tasks. Examples of successful MVPs from companies like Facebook, Dropbox, Amazon are also included.
Melihat perkembangan JavaScript di Indonesia dari berbagai perspektif dan sudut pandang. Ini merupakan materi keynote di JSDay 2019.
Memperkenalkan ReasonML, sintaks dan alat bantu baru diatas bahasa OCaml. Juga membahas sekilas tentang ReasonReact.