SlideShare a Scribd company logo
1 of 46
Download to read offline
Vizwik Coding Manual
Learn Create Share
Vizwik is a tool that helps anyone create
mobile apps. Many apps can be created
without coding, but to get the full benefit of
Vizwik, coding is the best choice.
This manual documents the coding design
in Vizwik. You are not required to have any
previous knowledge of coding to learn.
Introduction
Structure of an App in Vizwik
DB
FB
How it looks What it does What it stores
View Script Data
App
Web
tap
get/set
The Vizwik programming language is a visual data flow
language that connects operations (boxes) with links
(lines) which are connected from outputs (circles) to
inputs (triangle).
Vizwik code is Visual Data Flow
0 to N Inputs
0 to N
Outputs
Operation
Link
name
Operations process data that flows through the links
from output to input. Operations execute once all its
inputs have a value.
Operation Execution
4 3
7
Scripts
0 to many
Inputs
0 or 1
Outputs
Reference
Name
The basic package of code in Vizwik is a Script which
contains operators. Scripts can be given names, and
can call each other. They have any number of inputs,
but only none or 1 output.
Operator Shape
Operator shapes allow you to identify their behavior
Operators with solid bars
are library calls.
Operators with arrows are
setters and getters of
values for data
Operators with a single
bar is a constant that
outputs a value
1. Boolean: True | False
2. Number: 125 , 12.34
3. Text: This is some text
4. List: (,,,)
5. Object: { name : value, ... }
Basic Data Types
Vizwik supports 5 basic types of data.
Boolean
A boolean value can have only one of two values, either
true or false. Boolean values are useful for testing and
controlling a script.
operator that outputs
a boolean
Values for true and
false
Number Data Type
Numbers can be either whole, or have decimal values.
The Math Lib provides operators to work with numbers.
Whole Decimal
Text Data Type
Text is a collection of characters and numbers. The
Text Lib contains operators to work with text.
List Data Type & Syntax
A list is a collection of any basic data type between
braces () and separated by commas:
(a,Bob,E1A 5Y6) <- list of Text
(1,2,3) <- list of numbers
(true,false,true) <- list of boolean
(a,3,false,Bob,5) <- list of 3 basic data types
((1,2),(a,b),(1,3hb)) <- list of lists
(a,(1,2,a),2.35) <- list of numbers and list
(a,(b,(1,2))) <- list of text & list of text & list
() <- empty list
List Data Type
The List lib provides opers to work with lists.
Empty List
Object Data Type
Objects are collections of Properties that are named
value pairs.
object
name : value
property
name : value
age : 2
Object with 1 property
Example:
age : 2
Object with 2 properties
tag : Vizwik
Object Syntax
Object syntax in a value is defined in curly brackets {}.
Each property is a named value separated by a comma.
{} - empty object
{ ‘age’ : 2 } - object with property “age” with value 2
{ ‘name’ : ‘Vizwik’ } - object with property ‘name’ with value ‘Vizwik’
{ ‘name : ‘Vizwik’, ‘age’ : 2 } - object with 2 properties
Get a property from an object: prints Vizwik Set a property of an object: prints object
Object Data Type
Objects are collections of Properties defined in curly
brackets {}. Each property is a named value. The Object
Lib provides operations to work with objects
Creates empty object
Object properties can be
created at run-time
Object properties can also
be set and get based on the
name in the oper
Create an Operation
To create a library operator drag it from the Parts Panel
into your script.
Create an Operation in Script
Operations can also be directly created in a script by
double-clicking the script background and selecting
Library, then type the name of the operation to create.
1. double-click 3. Type name
2. Select
1. Blocks
2. Conditional Block
3. List Loop Block
4. Number Loop Block
5. Call and Return
Control Flow
An app will eventually need to choose between two
different values to proceed, which is called Control
Flow. In Vizwik this is performed with the following:
Blocks
Blocks control groups of operations by defining the order
they execute.
Blocks
Blocks can have inputs and outputs that pass data in and
out of the block to its operations.
Blocks
Blocks can contain and control other blocks nested to
any depth.
Blocks
Sequential
Blocks
Blocks can be connected together with links to define
sequential ordering of operations.
Conditional Block
Match
A block can be used to conditionally execute operations
based on the value of an input passed to a Match operation.
Conditional Block
2nd of 2 cases1st of 2 cases
Navigate
between
cases
A conditional block contains 1 or more Cases, or sub-blocks
of operations, in a block. If the value of a match is the same
as its input, the Case executes, else execute the next case.
Execute this first Case
if Match is true
Else execute the
second Case
List Loop Block
Loop Input
List of numbers
A List Loop Block will execute its operations for each
element in the list provided on its first input (...).
List Loop Block
Looped Value
Inputs can be Looped into pairs that pass the value of
the output back to the input on the next loop iteration.
Numeric Loop Block
A block can be executed a number of times based on the
count value on the first input. The Match defines the End
test value.
Count
End Test
Numeric Loop Block
A numeric loop can either increment (+) or decrement (-) the
Count based on the icon of the Count output. This can be
changed by a single click in the output icon.
Loop Decrement
(-)
Increment (+)
Calling a Script
Calling
Script
Calls Script
A script can call another script with the Call operator which
is set to the name of the called script. The inputs to the Call
are passed to the called script as inputs.
Normal Return
Normal Return
A call to a script is followed by a return in which the called
script’s outputs are provided to the Call operator.
Return Operator
Return Operator
A script can also return from any block using the Return
operator whose input is the value passed back to the Call
operator. This allows the script to return before it completes.
Global Values
Values that need to exist between scripts can be stored in
Global values using the Global Set and Get operators. A
value for a Global must first be set before it can be get.
Expression Operator
To simplify the use of math expressions use the Expression
Operator. Type the expression in the label and names will
automatically appear as inputs in the order they appear in
the expression. Only a single output is provided.
Supported Functions:
Math: *-/+
Modulo: %
Power: ^
sin(),cos(),tan()
sqrt()
exp()
abs()
min()
max()
floor()
ceil()
random()
log()
PI
E
Code Example: Hello World
Hello World is the simplest example of a program in Vizwik.
The Print operation outputs a value the Simulator console.
Code Example: Math
Add two numbers, 4 and 3, then divide by 4 and print the
square root of the result...
Code Example: List
Create an empty list, add numbers 3 and 45 to the list, then
concatenate another list (1,2,3) to the first list and print out
the new list sorted and it’s length...
Code Example: Object
Create a new object, add properties for first and last name,
age, and print out the first name...
Code Example: Blocks
Print a first and last name of an object, making sure the first
name is printed first.
This approach is
incorrect since
last_name may be
printed before first
name because
nothing prevents
the lower print to
execute first.
Here the blocks
define a strict
ordering of the
print operations
making sure
the first_name
is printed
before the
second_name
incorrect correct
Code Example: List Loop
Sum the elements of a list for only types that are of number
and print the result.
Code Example: Numeric Loop
Print a list of all the even numbers between 0 and 100...
Code Example: Call & Return
Call a script that divides 100 by a number provided, and
returns an error if the number is zero.
Code Example: Factorial
Write a script that calculates the factorial function n! For
example, 6! = 6x5x4x3x2x1 = 720
If the input
to the
function is
0, we return
the value 1
Else, we call
the Factorial
script
recursively
with n-1, and
multiply the
returned value
with the input
value until we
return from the
script to return
the answer.
Code Example: Quicksort
Use the quicksort algorithm to sort a list…
First, we partition a list into two lists whose values are larger or smaller than an
input value.
Case 1:2 Case 2:2
Code Example: Quicksort
Use the quicksort algorithm to sort a list…
Second, we grab the pivot from the head of the input list and partition the list into
two smaller lists and recursively sort these by calling quicksort, followed by
collecting their outputs, and merging back into the sorted list...
If the length
of the input
list is zero,
return a new
empty list.
Else, sort the
list
Vizwik Support
Web: www.vizwik.com
Mobile: m.vizwik.com
Blog: blog.vizwik.com
SlideShare: www.slideshare.net/agoramobile
Facebook: www.facebook.com/vizwik
Twitter: www.twitter.com/agoramobile
YouTube: www.youtube.com/user/vizwik
Email: info@vizwik.com

More Related Content

What's hot (20)

Understanding linq
Understanding linqUnderstanding linq
Understanding linq
 
File handling in c++
File handling in c++File handling in c++
File handling in c++
 
.NET Code Examples
.NET Code Examples.NET Code Examples
.NET Code Examples
 
Basics of files and its functions with example
Basics of files and its functions with exampleBasics of files and its functions with example
Basics of files and its functions with example
 
Filehadnling
FilehadnlingFilehadnling
Filehadnling
 
Csv file read and write
Csv file read and writeCsv file read and write
Csv file read and write
 
Html forms
Html formsHtml forms
Html forms
 
Serialization
SerializationSerialization
Serialization
 
File handling in c++
File handling in c++File handling in c++
File handling in c++
 
ORM - Ivan Marković
ORM - Ivan MarkovićORM - Ivan Marković
ORM - Ivan Marković
 
Web forms and html lecture Number 4
Web forms and html lecture Number 4Web forms and html lecture Number 4
Web forms and html lecture Number 4
 
Filehandlinging cp2
Filehandlinging cp2Filehandlinging cp2
Filehandlinging cp2
 
File Handling In C++
File Handling In C++File Handling In C++
File Handling In C++
 
File Handling in C++
File Handling in C++File Handling in C++
File Handling in C++
 
Listview to dif
Listview to difListview to dif
Listview to dif
 
Read write program
Read write programRead write program
Read write program
 
File handling in C++
File handling in C++File handling in C++
File handling in C++
 
Bt0082 visual basic
Bt0082 visual basicBt0082 visual basic
Bt0082 visual basic
 
CenitHub Presentations | 4- Flows, Connections & Webhooks
CenitHub Presentations | 4- Flows, Connections & WebhooksCenitHub Presentations | 4- Flows, Connections & Webhooks
CenitHub Presentations | 4- Flows, Connections & Webhooks
 
Assemblies in asp
Assemblies in aspAssemblies in asp
Assemblies in asp
 

Viewers also liked

Coding is for Everyone Contest - Concours: Programmer, c'est pour tout le monde!
Coding is for Everyone Contest - Concours: Programmer, c'est pour tout le monde!Coding is for Everyone Contest - Concours: Programmer, c'est pour tout le monde!
Coding is for Everyone Contest - Concours: Programmer, c'est pour tout le monde!Martine Paquet
 
Vizwik first lesson
Vizwik first lessonVizwik first lesson
Vizwik first lessonVizwik
 
5 Myths of Coding in The Classroom
5 Myths of Coding in The Classroom5 Myths of Coding in The Classroom
5 Myths of Coding in The ClassroomVizwik
 
Présentation Webinaire Partie 2: Comment utiliser vizwik en salle de classe
Présentation Webinaire Partie 2: Comment utiliser vizwik en salle de classePrésentation Webinaire Partie 2: Comment utiliser vizwik en salle de classe
Présentation Webinaire Partie 2: Comment utiliser vizwik en salle de classeMartine Paquet
 
Basic Tutorial in Vizwik
Basic Tutorial in VizwikBasic Tutorial in Vizwik
Basic Tutorial in VizwikMartine Paquet
 
Tutoriel de base pour Vizwik
Tutoriel de base pour VizwikTutoriel de base pour Vizwik
Tutoriel de base pour VizwikMartine Paquet
 
Présentation Webinaire: Comment utiliser Vizwik en salle de classe? Partie 1
Présentation Webinaire: Comment utiliser Vizwik en salle de classe? Partie 1Présentation Webinaire: Comment utiliser Vizwik en salle de classe? Partie 1
Présentation Webinaire: Comment utiliser Vizwik en salle de classe? Partie 1Martine Paquet
 
7 steps to bring back coding into the classroom
7 steps to bring back coding into the classroom7 steps to bring back coding into the classroom
7 steps to bring back coding into the classroomMartine Paquet
 
7 étapes pour emmener la programmation dans la salle de classe
7 étapes pour emmener la programmation dans la salle de classe7 étapes pour emmener la programmation dans la salle de classe
7 étapes pour emmener la programmation dans la salle de classeMartine Paquet
 
What Happens When Kids Learn To Code?
What Happens When Kids Learn To Code?What Happens When Kids Learn To Code?
What Happens When Kids Learn To Code?Vizwik
 
Formation numerique ima ciep
Formation numerique ima   ciepFormation numerique ima   ciep
Formation numerique ima ciepDavid CORDINA
 
Analyse syst educ_1-les acteurs
Analyse syst educ_1-les acteursAnalyse syst educ_1-les acteurs
Analyse syst educ_1-les acteursPhilippe Watrelot
 
M1 s1- devenir enseignant - moi, enseigt - 2015
M1  s1- devenir enseignant - moi, enseigt - 2015M1  s1- devenir enseignant - moi, enseigt - 2015
M1 s1- devenir enseignant - moi, enseigt - 2015Philippe Watrelot
 
Spécificités de la scénarisation pédagogique des mooc – 6° rencontres fol de ...
Spécificités de la scénarisation pédagogique des mooc – 6° rencontres fol de ...Spécificités de la scénarisation pédagogique des mooc – 6° rencontres fol de ...
Spécificités de la scénarisation pédagogique des mooc – 6° rencontres fol de ...Rémi Bachelet
 
Mettre en oeuvre une approche programme mobilisante
Mettre en oeuvre une approche programme mobilisanteMettre en oeuvre une approche programme mobilisante
Mettre en oeuvre une approche programme mobilisanteJean-Luc Trussart
 
M1 s1- devenir enseignant - moi, enseigt
M1  s1- devenir enseignant - moi, enseigtM1  s1- devenir enseignant - moi, enseigt
M1 s1- devenir enseignant - moi, enseigtPhilippe Watrelot
 
Sénario pédagogique
Sénario pédagogiqueSénario pédagogique
Sénario pédagogiqueimed asfouri
 
Chap2 tes 2013_diapo_fluctuations_(ph_w)
Chap2 tes 2013_diapo_fluctuations_(ph_w)Chap2 tes 2013_diapo_fluctuations_(ph_w)
Chap2 tes 2013_diapo_fluctuations_(ph_w)Philippe Watrelot
 
Compte rendu du Chapitre VII de : "Linguistique textuelle" de J.M. Adam
Compte rendu du Chapitre VII de : "Linguistique textuelle" de J.M. AdamCompte rendu du Chapitre VII de : "Linguistique textuelle" de J.M. Adam
Compte rendu du Chapitre VII de : "Linguistique textuelle" de J.M. Adamkimo063
 
Exemple d'un plan de leçon: Module Vizwik BBT10
Exemple d'un plan de leçon: Module Vizwik BBT10Exemple d'un plan de leçon: Module Vizwik BBT10
Exemple d'un plan de leçon: Module Vizwik BBT10Martine Paquet
 

Viewers also liked (20)

Coding is for Everyone Contest - Concours: Programmer, c'est pour tout le monde!
Coding is for Everyone Contest - Concours: Programmer, c'est pour tout le monde!Coding is for Everyone Contest - Concours: Programmer, c'est pour tout le monde!
Coding is for Everyone Contest - Concours: Programmer, c'est pour tout le monde!
 
Vizwik first lesson
Vizwik first lessonVizwik first lesson
Vizwik first lesson
 
5 Myths of Coding in The Classroom
5 Myths of Coding in The Classroom5 Myths of Coding in The Classroom
5 Myths of Coding in The Classroom
 
Présentation Webinaire Partie 2: Comment utiliser vizwik en salle de classe
Présentation Webinaire Partie 2: Comment utiliser vizwik en salle de classePrésentation Webinaire Partie 2: Comment utiliser vizwik en salle de classe
Présentation Webinaire Partie 2: Comment utiliser vizwik en salle de classe
 
Basic Tutorial in Vizwik
Basic Tutorial in VizwikBasic Tutorial in Vizwik
Basic Tutorial in Vizwik
 
Tutoriel de base pour Vizwik
Tutoriel de base pour VizwikTutoriel de base pour Vizwik
Tutoriel de base pour Vizwik
 
Présentation Webinaire: Comment utiliser Vizwik en salle de classe? Partie 1
Présentation Webinaire: Comment utiliser Vizwik en salle de classe? Partie 1Présentation Webinaire: Comment utiliser Vizwik en salle de classe? Partie 1
Présentation Webinaire: Comment utiliser Vizwik en salle de classe? Partie 1
 
7 steps to bring back coding into the classroom
7 steps to bring back coding into the classroom7 steps to bring back coding into the classroom
7 steps to bring back coding into the classroom
 
7 étapes pour emmener la programmation dans la salle de classe
7 étapes pour emmener la programmation dans la salle de classe7 étapes pour emmener la programmation dans la salle de classe
7 étapes pour emmener la programmation dans la salle de classe
 
What Happens When Kids Learn To Code?
What Happens When Kids Learn To Code?What Happens When Kids Learn To Code?
What Happens When Kids Learn To Code?
 
Formation numerique ima ciep
Formation numerique ima   ciepFormation numerique ima   ciep
Formation numerique ima ciep
 
Analyse syst educ_1-les acteurs
Analyse syst educ_1-les acteursAnalyse syst educ_1-les acteurs
Analyse syst educ_1-les acteurs
 
M1 s1- devenir enseignant - moi, enseigt - 2015
M1  s1- devenir enseignant - moi, enseigt - 2015M1  s1- devenir enseignant - moi, enseigt - 2015
M1 s1- devenir enseignant - moi, enseigt - 2015
 
Spécificités de la scénarisation pédagogique des mooc – 6° rencontres fol de ...
Spécificités de la scénarisation pédagogique des mooc – 6° rencontres fol de ...Spécificités de la scénarisation pédagogique des mooc – 6° rencontres fol de ...
Spécificités de la scénarisation pédagogique des mooc – 6° rencontres fol de ...
 
Mettre en oeuvre une approche programme mobilisante
Mettre en oeuvre une approche programme mobilisanteMettre en oeuvre une approche programme mobilisante
Mettre en oeuvre une approche programme mobilisante
 
M1 s1- devenir enseignant - moi, enseigt
M1  s1- devenir enseignant - moi, enseigtM1  s1- devenir enseignant - moi, enseigt
M1 s1- devenir enseignant - moi, enseigt
 
Sénario pédagogique
Sénario pédagogiqueSénario pédagogique
Sénario pédagogique
 
Chap2 tes 2013_diapo_fluctuations_(ph_w)
Chap2 tes 2013_diapo_fluctuations_(ph_w)Chap2 tes 2013_diapo_fluctuations_(ph_w)
Chap2 tes 2013_diapo_fluctuations_(ph_w)
 
Compte rendu du Chapitre VII de : "Linguistique textuelle" de J.M. Adam
Compte rendu du Chapitre VII de : "Linguistique textuelle" de J.M. AdamCompte rendu du Chapitre VII de : "Linguistique textuelle" de J.M. Adam
Compte rendu du Chapitre VII de : "Linguistique textuelle" de J.M. Adam
 
Exemple d'un plan de leçon: Module Vizwik BBT10
Exemple d'un plan de leçon: Module Vizwik BBT10Exemple d'un plan de leçon: Module Vizwik BBT10
Exemple d'un plan de leçon: Module Vizwik BBT10
 

Similar to Vizwik Coding Manual

C++ Interview Question And Answer
C++ Interview Question And AnswerC++ Interview Question And Answer
C++ Interview Question And AnswerJagan Mohan Bishoyi
 
C++ questions And Answer
C++ questions And AnswerC++ questions And Answer
C++ questions And Answerlavparmar007
 
Python Programming Basics for begginners
Python Programming Basics for begginnersPython Programming Basics for begginners
Python Programming Basics for begginnersAbishek Purushothaman
 
Typescript language extension of java script
Typescript language extension of java scriptTypescript language extension of java script
Typescript language extension of java scriptmichaelaaron25322
 
1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answersAkash Gawali
 
Python_Unit-1_PPT_Data Types.pptx
Python_Unit-1_PPT_Data Types.pptxPython_Unit-1_PPT_Data Types.pptx
Python_Unit-1_PPT_Data Types.pptxSahajShrimal1
 
Programming presentation
Programming presentationProgramming presentation
Programming presentationFiaz Khokhar
 
434090527-C-Cheat-Sheet. pdf C# program
434090527-C-Cheat-Sheet. pdf  C# program434090527-C-Cheat-Sheet. pdf  C# program
434090527-C-Cheat-Sheet. pdf C# programMAHESHV559910
 
CS 360 LAB 3 STRINGS, FUNCTIONS, AND METHODSObjective The purpos.docx
CS 360 LAB 3 STRINGS, FUNCTIONS, AND METHODSObjective The purpos.docxCS 360 LAB 3 STRINGS, FUNCTIONS, AND METHODSObjective The purpos.docx
CS 360 LAB 3 STRINGS, FUNCTIONS, AND METHODSObjective The purpos.docxfaithxdunce63732
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAAiman Hud
 
Python programming: Anonymous functions, String operations
Python programming: Anonymous functions, String operationsPython programming: Anonymous functions, String operations
Python programming: Anonymous functions, String operationsMegha V
 

Similar to Vizwik Coding Manual (20)

Bcsl 031 solve assignment
Bcsl 031 solve assignmentBcsl 031 solve assignment
Bcsl 031 solve assignment
 
C++ Interview Question And Answer
C++ Interview Question And AnswerC++ Interview Question And Answer
C++ Interview Question And Answer
 
C++ questions And Answer
C++ questions And AnswerC++ questions And Answer
C++ questions And Answer
 
Visual c sharp
Visual c sharpVisual c sharp
Visual c sharp
 
Python Programming Basics for begginners
Python Programming Basics for begginnersPython Programming Basics for begginners
Python Programming Basics for begginners
 
Amusing C#
Amusing C#Amusing C#
Amusing C#
 
Typescript language extension of java script
Typescript language extension of java scriptTypescript language extension of java script
Typescript language extension of java script
 
1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers
 
Python_Unit-1_PPT_Data Types.pptx
Python_Unit-1_PPT_Data Types.pptxPython_Unit-1_PPT_Data Types.pptx
Python_Unit-1_PPT_Data Types.pptx
 
Programming presentation
Programming presentationProgramming presentation
Programming presentation
 
Python basics
Python basicsPython basics
Python basics
 
434090527-C-Cheat-Sheet. pdf C# program
434090527-C-Cheat-Sheet. pdf  C# program434090527-C-Cheat-Sheet. pdf  C# program
434090527-C-Cheat-Sheet. pdf C# program
 
Visual basic
Visual basicVisual basic
Visual basic
 
CS 360 LAB 3 STRINGS, FUNCTIONS, AND METHODSObjective The purpos.docx
CS 360 LAB 3 STRINGS, FUNCTIONS, AND METHODSObjective The purpos.docxCS 360 LAB 3 STRINGS, FUNCTIONS, AND METHODSObjective The purpos.docx
CS 360 LAB 3 STRINGS, FUNCTIONS, AND METHODSObjective The purpos.docx
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
Lecture 2 java.pdf
Lecture 2 java.pdfLecture 2 java.pdf
Lecture 2 java.pdf
 
Linq
LinqLinq
Linq
 
Python programming: Anonymous functions, String operations
Python programming: Anonymous functions, String operationsPython programming: Anonymous functions, String operations
Python programming: Anonymous functions, String operations
 
Vb script final pari
Vb script final pariVb script final pari
Vb script final pari
 
I x scripting
I x scriptingI x scripting
I x scripting
 

Recently uploaded

2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 

Recently uploaded (20)

2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 

Vizwik Coding Manual

  • 2. Vizwik is a tool that helps anyone create mobile apps. Many apps can be created without coding, but to get the full benefit of Vizwik, coding is the best choice. This manual documents the coding design in Vizwik. You are not required to have any previous knowledge of coding to learn. Introduction
  • 3. Structure of an App in Vizwik DB FB How it looks What it does What it stores View Script Data App Web tap get/set
  • 4. The Vizwik programming language is a visual data flow language that connects operations (boxes) with links (lines) which are connected from outputs (circles) to inputs (triangle). Vizwik code is Visual Data Flow 0 to N Inputs 0 to N Outputs Operation Link name
  • 5. Operations process data that flows through the links from output to input. Operations execute once all its inputs have a value. Operation Execution 4 3 7
  • 6. Scripts 0 to many Inputs 0 or 1 Outputs Reference Name The basic package of code in Vizwik is a Script which contains operators. Scripts can be given names, and can call each other. They have any number of inputs, but only none or 1 output.
  • 7. Operator Shape Operator shapes allow you to identify their behavior Operators with solid bars are library calls. Operators with arrows are setters and getters of values for data Operators with a single bar is a constant that outputs a value
  • 8. 1. Boolean: True | False 2. Number: 125 , 12.34 3. Text: This is some text 4. List: (,,,) 5. Object: { name : value, ... } Basic Data Types Vizwik supports 5 basic types of data.
  • 9. Boolean A boolean value can have only one of two values, either true or false. Boolean values are useful for testing and controlling a script. operator that outputs a boolean Values for true and false
  • 10. Number Data Type Numbers can be either whole, or have decimal values. The Math Lib provides operators to work with numbers. Whole Decimal
  • 11. Text Data Type Text is a collection of characters and numbers. The Text Lib contains operators to work with text.
  • 12. List Data Type & Syntax A list is a collection of any basic data type between braces () and separated by commas: (a,Bob,E1A 5Y6) <- list of Text (1,2,3) <- list of numbers (true,false,true) <- list of boolean (a,3,false,Bob,5) <- list of 3 basic data types ((1,2),(a,b),(1,3hb)) <- list of lists (a,(1,2,a),2.35) <- list of numbers and list (a,(b,(1,2))) <- list of text & list of text & list () <- empty list
  • 13. List Data Type The List lib provides opers to work with lists. Empty List
  • 14. Object Data Type Objects are collections of Properties that are named value pairs. object name : value property name : value age : 2 Object with 1 property Example: age : 2 Object with 2 properties tag : Vizwik
  • 15. Object Syntax Object syntax in a value is defined in curly brackets {}. Each property is a named value separated by a comma. {} - empty object { ‘age’ : 2 } - object with property “age” with value 2 { ‘name’ : ‘Vizwik’ } - object with property ‘name’ with value ‘Vizwik’ { ‘name : ‘Vizwik’, ‘age’ : 2 } - object with 2 properties Get a property from an object: prints Vizwik Set a property of an object: prints object
  • 16. Object Data Type Objects are collections of Properties defined in curly brackets {}. Each property is a named value. The Object Lib provides operations to work with objects Creates empty object Object properties can be created at run-time Object properties can also be set and get based on the name in the oper
  • 17. Create an Operation To create a library operator drag it from the Parts Panel into your script.
  • 18. Create an Operation in Script Operations can also be directly created in a script by double-clicking the script background and selecting Library, then type the name of the operation to create. 1. double-click 3. Type name 2. Select
  • 19. 1. Blocks 2. Conditional Block 3. List Loop Block 4. Number Loop Block 5. Call and Return Control Flow An app will eventually need to choose between two different values to proceed, which is called Control Flow. In Vizwik this is performed with the following:
  • 20. Blocks Blocks control groups of operations by defining the order they execute.
  • 21. Blocks Blocks can have inputs and outputs that pass data in and out of the block to its operations.
  • 22. Blocks Blocks can contain and control other blocks nested to any depth.
  • 23. Blocks Sequential Blocks Blocks can be connected together with links to define sequential ordering of operations.
  • 24. Conditional Block Match A block can be used to conditionally execute operations based on the value of an input passed to a Match operation.
  • 25. Conditional Block 2nd of 2 cases1st of 2 cases Navigate between cases A conditional block contains 1 or more Cases, or sub-blocks of operations, in a block. If the value of a match is the same as its input, the Case executes, else execute the next case. Execute this first Case if Match is true Else execute the second Case
  • 26. List Loop Block Loop Input List of numbers A List Loop Block will execute its operations for each element in the list provided on its first input (...).
  • 27. List Loop Block Looped Value Inputs can be Looped into pairs that pass the value of the output back to the input on the next loop iteration.
  • 28. Numeric Loop Block A block can be executed a number of times based on the count value on the first input. The Match defines the End test value. Count End Test
  • 29. Numeric Loop Block A numeric loop can either increment (+) or decrement (-) the Count based on the icon of the Count output. This can be changed by a single click in the output icon. Loop Decrement (-) Increment (+)
  • 30. Calling a Script Calling Script Calls Script A script can call another script with the Call operator which is set to the name of the called script. The inputs to the Call are passed to the called script as inputs.
  • 31. Normal Return Normal Return A call to a script is followed by a return in which the called script’s outputs are provided to the Call operator.
  • 32. Return Operator Return Operator A script can also return from any block using the Return operator whose input is the value passed back to the Call operator. This allows the script to return before it completes.
  • 33. Global Values Values that need to exist between scripts can be stored in Global values using the Global Set and Get operators. A value for a Global must first be set before it can be get.
  • 34. Expression Operator To simplify the use of math expressions use the Expression Operator. Type the expression in the label and names will automatically appear as inputs in the order they appear in the expression. Only a single output is provided. Supported Functions: Math: *-/+ Modulo: % Power: ^ sin(),cos(),tan() sqrt() exp() abs() min() max() floor() ceil() random() log() PI E
  • 35. Code Example: Hello World Hello World is the simplest example of a program in Vizwik. The Print operation outputs a value the Simulator console.
  • 36. Code Example: Math Add two numbers, 4 and 3, then divide by 4 and print the square root of the result...
  • 37. Code Example: List Create an empty list, add numbers 3 and 45 to the list, then concatenate another list (1,2,3) to the first list and print out the new list sorted and it’s length...
  • 38. Code Example: Object Create a new object, add properties for first and last name, age, and print out the first name...
  • 39. Code Example: Blocks Print a first and last name of an object, making sure the first name is printed first. This approach is incorrect since last_name may be printed before first name because nothing prevents the lower print to execute first. Here the blocks define a strict ordering of the print operations making sure the first_name is printed before the second_name incorrect correct
  • 40. Code Example: List Loop Sum the elements of a list for only types that are of number and print the result.
  • 41. Code Example: Numeric Loop Print a list of all the even numbers between 0 and 100...
  • 42. Code Example: Call & Return Call a script that divides 100 by a number provided, and returns an error if the number is zero.
  • 43. Code Example: Factorial Write a script that calculates the factorial function n! For example, 6! = 6x5x4x3x2x1 = 720 If the input to the function is 0, we return the value 1 Else, we call the Factorial script recursively with n-1, and multiply the returned value with the input value until we return from the script to return the answer.
  • 44. Code Example: Quicksort Use the quicksort algorithm to sort a list… First, we partition a list into two lists whose values are larger or smaller than an input value. Case 1:2 Case 2:2
  • 45. Code Example: Quicksort Use the quicksort algorithm to sort a list… Second, we grab the pivot from the head of the input list and partition the list into two smaller lists and recursively sort these by calling quicksort, followed by collecting their outputs, and merging back into the sorted list... If the length of the input list is zero, return a new empty list. Else, sort the list
  • 46. Vizwik Support Web: www.vizwik.com Mobile: m.vizwik.com Blog: blog.vizwik.com SlideShare: www.slideshare.net/agoramobile Facebook: www.facebook.com/vizwik Twitter: www.twitter.com/agoramobile YouTube: www.youtube.com/user/vizwik Email: info@vizwik.com