Slide 1
TypeScript
* This presentation is to show TypeScript's major feature and the benefit that it brings to your JavaScript projects.
* Our main objective is just to spark interest especially to those not familiar with the tool.
Slide 2
- What is TypeScript
* go to next slide
Slide 3
- Is a superset of JavaScript
* it simply means an extension to JavaScript
- Use JavaScript code on TypeScript
* JS code naturally works on TypeScript
* Which also means your beloved JavaScript libraries such as JQuery, or your fancy interacive plugins would work as well.
- TypeScript compiles to plain old JavaScript
* TS code compiles to simple and clean JS.
Slide 4
- Screenshot of TS compiled to JS
* In this example, compiling a TS class code would result to a JS version, and a regular JavaScript function when compiled is basically untouched.
Slide 5
- TypeScript's Main Feature
* So what does TS provide us with? What does it actually do?
Slide 6
- Static Type Checking
* TypeScript allows us to enable type checking by defining data types to your for ex. variables, function parameters and return types.
Slide 7
- Screenshot of basic Static Type Checking
* In this example…
* What I've done here was to assign supposedly wrong values for what the variables or parameters were meant to hold
* As JavaScript is a dynamic and untyped language these expressions would either fail or be okay when you run it on your browser.
* In TypeScript by enabling static type checking these potential errors are caught earlier (see the red marks on the expressions) and wouldn't even allow you to compile unless these are resolved.
* In addition you can also type arrays and object literals
Slide 8
- Effects of Static Type Checking
* As TS code is statically type-checked a side effect of such...
- Allows IDEs to perform live error checks
- Exposes auto-completion and code hinting
Slide 9
- Screenshot of code hinting
* Say I was coding JQuery on regular JavaScript code there would be no natural way to help me identify its class properties, methods and parameters... except through reading the API documentation or a separate plugin.
* As a result of static type checking this allows IDE's to access these class members as code hints
* So if this was a 3rd party library how much more if you are just referencing your own JavaScript/TypeScript files within your project.
Slide 10
- A few of the other cool features
* That was only the basic feature of TypeScript
* A few of the other cool features are...
Slide 11
- End
One Does Not… write TypeScript so easily! In this Meetup talk, I'll share the tricks and pain points I had to learn in my first 6 months of professional TypeScript. The goal is to spare the reader many hours of Stack Overflow...
The first deck of a two part learning deck about TypeScript.
Here you can view a first introduction to the language and some attention call for some of TypeScript detailes.
Just a simple intro to typescript.
Most of the contents are of any OO language, hence slide contents are minimal. If anyone need any further help, reach me out - akhil2369492@gmail.com
-Akhil
Slide 1
TypeScript
* This presentation is to show TypeScript's major feature and the benefit that it brings to your JavaScript projects.
* Our main objective is just to spark interest especially to those not familiar with the tool.
Slide 2
- What is TypeScript
* go to next slide
Slide 3
- Is a superset of JavaScript
* it simply means an extension to JavaScript
- Use JavaScript code on TypeScript
* JS code naturally works on TypeScript
* Which also means your beloved JavaScript libraries such as JQuery, or your fancy interacive plugins would work as well.
- TypeScript compiles to plain old JavaScript
* TS code compiles to simple and clean JS.
Slide 4
- Screenshot of TS compiled to JS
* In this example, compiling a TS class code would result to a JS version, and a regular JavaScript function when compiled is basically untouched.
Slide 5
- TypeScript's Main Feature
* So what does TS provide us with? What does it actually do?
Slide 6
- Static Type Checking
* TypeScript allows us to enable type checking by defining data types to your for ex. variables, function parameters and return types.
Slide 7
- Screenshot of basic Static Type Checking
* In this example…
* What I've done here was to assign supposedly wrong values for what the variables or parameters were meant to hold
* As JavaScript is a dynamic and untyped language these expressions would either fail or be okay when you run it on your browser.
* In TypeScript by enabling static type checking these potential errors are caught earlier (see the red marks on the expressions) and wouldn't even allow you to compile unless these are resolved.
* In addition you can also type arrays and object literals
Slide 8
- Effects of Static Type Checking
* As TS code is statically type-checked a side effect of such...
- Allows IDEs to perform live error checks
- Exposes auto-completion and code hinting
Slide 9
- Screenshot of code hinting
* Say I was coding JQuery on regular JavaScript code there would be no natural way to help me identify its class properties, methods and parameters... except through reading the API documentation or a separate plugin.
* As a result of static type checking this allows IDE's to access these class members as code hints
* So if this was a 3rd party library how much more if you are just referencing your own JavaScript/TypeScript files within your project.
Slide 10
- A few of the other cool features
* That was only the basic feature of TypeScript
* A few of the other cool features are...
Slide 11
- End
One Does Not… write TypeScript so easily! In this Meetup talk, I'll share the tricks and pain points I had to learn in my first 6 months of professional TypeScript. The goal is to spare the reader many hours of Stack Overflow...
The first deck of a two part learning deck about TypeScript.
Here you can view a first introduction to the language and some attention call for some of TypeScript detailes.
Just a simple intro to typescript.
Most of the contents are of any OO language, hence slide contents are minimal. If anyone need any further help, reach me out - akhil2369492@gmail.com
-Akhil
Technical presentation given by Laurent Duveau at the House of Commons in Ottawa on April 25, 2017.
Thanks to Dan Wahlin for providing the original version of the slides. I added more content to fit in a 1h talk.
Introduction to TypeScript, demo ( http://goo.gl/VtE4Vm ), Comparison with couple of popular alternatives. (Sadly layout of the slides are a bit ruined by conversion to SlideShare format - original file: http://goo.gl/eeJgbR )
TypeScript is a super set of JavaScript. This slide covers the key features of TypeScript including basics of typescript, basic types, Interfaces, Functions, Classes, Generics, Modules.
Introduction to Angular for .NET DevelopersLaurent Duveau
Technical presentation given by Laurent Duveau at the Ottawa IT Community meetup on April 24, 2017.
https://www.meetup.com/ottawaitcommunity/events/238168455/
An introduction to Typescript for programmers who use JavaScript.
It goes through what it is, what's it useful for, how to start using it and some things I've observed while using it.
Notes are not available but feel free to PM me if you have any question.
TypeScript 101. TypeScript is a tool that allows you to utilize object oriented programming techniques with your JavaScript code. With TypeScript you have the same sort of namespaces and classes that you use to build your business objects. TypeScript classes support both inheritance and interfaces. We’ll introduce you to these concepts and show you how to use TypeScript to manage and organize your JavaScript code.
Reasons to Use Typescript for Your Next Project Over Javascript.pdfMobMaxime
Do you know that TypeScript is considered a better programming language than JavaScript? Yes, it's true. Wondering Why? We’ll discuss this in complete detail today.
Technical presentation given by Laurent Duveau at the House of Commons in Ottawa on April 25, 2017.
Thanks to Dan Wahlin for providing the original version of the slides. I added more content to fit in a 1h talk.
Introduction to TypeScript, demo ( http://goo.gl/VtE4Vm ), Comparison with couple of popular alternatives. (Sadly layout of the slides are a bit ruined by conversion to SlideShare format - original file: http://goo.gl/eeJgbR )
TypeScript is a super set of JavaScript. This slide covers the key features of TypeScript including basics of typescript, basic types, Interfaces, Functions, Classes, Generics, Modules.
Introduction to Angular for .NET DevelopersLaurent Duveau
Technical presentation given by Laurent Duveau at the Ottawa IT Community meetup on April 24, 2017.
https://www.meetup.com/ottawaitcommunity/events/238168455/
An introduction to Typescript for programmers who use JavaScript.
It goes through what it is, what's it useful for, how to start using it and some things I've observed while using it.
Notes are not available but feel free to PM me if you have any question.
TypeScript 101. TypeScript is a tool that allows you to utilize object oriented programming techniques with your JavaScript code. With TypeScript you have the same sort of namespaces and classes that you use to build your business objects. TypeScript classes support both inheritance and interfaces. We’ll introduce you to these concepts and show you how to use TypeScript to manage and organize your JavaScript code.
Reasons to Use Typescript for Your Next Project Over Javascript.pdfMobMaxime
Do you know that TypeScript is considered a better programming language than JavaScript? Yes, it's true. Wondering Why? We’ll discuss this in complete detail today.
Developers like coding in JavaScript because it helps them move fast. The language facilitates fast prototyping of ideas via dynamic typing. However, evolving and growing a JavaScript codebase is notoriously challenging. Developers cannot move fast when they break stuff. Flow is a project that adds a layer of types to a JavaScript codebase, and provide tools that use type information to solve the above problems.
Making Visualforce RemoteActions Bulletproof with TypeScriptSimon Goodyear
My Dreamforce '15 presentation which discusses how we can use TypeScript in Visualforce. The video is here; http://salesforce.vidyard.com/watch/XT20D_JUgU4jBe5SjHy_Rg
One of the main reasons Titanium Mobile has been so successful is that the technology has significantly lowered the barrier to entry for native mobile development. A major force behind this is JavaScript, Titanium's primary programming language. The JavaScript programming language is small enough where the basics can be learned in a matter of hours, which has enabled developers from many different backgrounds to become productive using Titanium. But there's much more to JavaScript than just control structures and a handful of primitive data types - JavaScript is a beautiful functional programming language with great features you might not be using.
Most developers working on the web today have had some exposure to JavaScript, but there's a difference between using jQuery for DOM manipulation on a web page and writing an entire application in JavaScript. This talk, intended for beginner or intermediate JavaScript developers, will focus on the essential language features you will need to write professional JavaScript applications, including but not limited to:
Object Oriented Programming in JavaScript
The Good Parts and Bad Parts of JavaScript
Useful JavaScript Patterns, Tricks, and Style Guidelines
The JavaScript runtime in Titanium Mobile
Further Reading and ways to stay up to date on JavaScript
RemoteAction Apex methods have helped make Visualforce pages more responsive by allowing us to use more JavaScript and still connect easily to our Apex business logic. But with this power comes the brittleness of JavaScript's untyped nature and the disconnect between JavaScript and Apex methods. The errors caused by these issues are runtime errors, which can slow development down. To catch these errors at compile time, the Tooling API can be used to generate TypeScript proxies for RemoteActions. Join us to learn what TypeScript is, how to use it in Visualforce, and see concrete examples of how to generate proxies for Apex RemoteActions.
Jennifer Rondeau and Margaret Eker presentation from Write The Docs Prague, 2016:
Treating docs as code, an approach that more and more teams and companies are moving toward, involves more than putting the two together in a source repository. We discuss some of the details that often get lost in as dev and docs learn to work together in new ways. Because if all we do is put doc files next to code files in source control, or use parts of the same workflow for code and docs, we're still isolating docs as a separate sort of responsibility, free from the obligations of systematic review and testing without which code would never be accepted into production.
Apresentação que mostra as principais features e implementação de TS no React, com exemplos de Hooks, Generics, Tipos x Interfaces, Orientação a Objeto, histórico do JS x TS, uso na comunidade
APIs define contracts between a service and a client, and with the rise of representation languages like Swagger, Apiary, and RAML, these contracts can be consumed programmatically and adapted easily into our codebases. Other tools like JSON Schema also contribute to this idea of integration between service and client.
But what about our documentation? If API contracts can be assimilated into software, surely it can drive our documentation too? In this talk, I want to introduce some of the techniques I've used on past projects that allow exactly that. By using remote schemas to generate software, it also allows us to generate working documentation that is always relevant and never out of date. Apart from accuracy, we also get the added benefits of reduced development time, reduced effort, and reduced duplication. We can all of this by documenting once, and re-using across multiple projects!
TypeScript app development service is a valuable option for building large-scale applications, as it provides several features such as static typing, classes, and interfaces that can improve the development process and the quality of the resulting software. It also has a large ecosystem of tools and libraries, and an active community that can help to speed up the development process and reduce the need to write boilerplate code.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
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.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaYara Milbes
Discover the transformative power of the WhatsApp API in our latest SlideShare presentation, "Top 7 Unique WhatsApp API Benefits." In today's fast-paced digital era, effective communication is crucial for both personal and professional success. Whether you're a small business looking to enhance customer interactions or an individual seeking seamless communication with loved ones, the WhatsApp API offers robust capabilities that can significantly elevate your experience.
In this presentation, we delve into the top 7 distinctive benefits of the WhatsApp API, provided by the leading WhatsApp API service provider in Saudi Arabia. Learn how to streamline customer support, automate notifications, leverage rich media messaging, run scalable marketing campaigns, integrate secure payments, synchronize with CRM systems, and ensure enhanced security and privacy.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
3. What is a Static Type Checker?
• Compile time issues
3
• Annotate variables, functions and components
• Makes you code faster, smarter and scalable
4. JS has a type system
• typeof x
4
• Number
• String
• Boolean
• Object
• Function
• Symbol
• AND …
• Undefined
• Null
5. JS has (runtime) type errors
• _ is not a function
5
• Cannot read property _ of null/undefined
6. What is Flow.js
• Flow is a static type checker for JS
6
• Helps to identify the issues/bugs in your code
• It will change the way you code in JS
• It makes you code smarter, faster and more productive
16. Types… Mixed vs Any Type
The difference is the "vice-versa": any can flow into other types
but mixed can not.
17. Types… Mixed vs Any Type
Any supports covariance and contravariance. It’s a super-type and a
subtype of all types.
Mixed supports covariance only. It's a super-type and not a sub type of all
types.
26. How to use Flow in your project?
/* @flow */ (add to the top of your file and make your project flow typed
incrementally)
npm install --save-dev flow-bin
npm install -g flow-bin (globally install)
flow init (will generate a .flowconfig file)
flow check (to check for the type errors)
27. Pros
● Code is more likely to work if it compiles, making you more productive
● When adding flowtypes to code it finds bugs
● Feels much safer making changes as a team
● Code is self documenting, makes code more readable
● Add flow gradually to the project.
29. Flow vs Typescript
“We built Flow because we didn't see TypeScript going in the right direction
for the community. For example, it purposefully does not attempt to be a
sound type system… …documenting the API using types is useful (in fact
using Flow types you can generate API documentation using
documentation.js). But the point is that you don't need type annotations
everywhere in Flow to get something out of it. The places where you do add
type annotations Flow ends up doing a lot more work for you because it's
able to infer so much. If you aren't telling TypeScript what to do all the time,
it won't do anything for you. With TypeScript 2.0, it is starting to do more of
this, but it has a long way to go to match how much Flow is able to infer.”
30. Conclusions
• JavaScript doesn't give us enough type errors
• Static type checking can help to reduce the bugs in your
application
• Working with types will help you think better