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

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
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
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 

Recently uploaded (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
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
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 

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