-
Notifications
You must be signed in to change notification settings - Fork 0
/
motivation.tex
35 lines (24 loc) · 2.44 KB
/
motivation.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
\section{Motivation}
% Developing high featured and responsive web applications differs from developing traditional desktop applications thus to the characteristics of the modern web.
With rising complexity of web applications there is a need for writing more structured and modular code.
\textbf{Can Dart help writing great web applications?}
%On client side Javascript gained popularity by a lot of programmers, on server side there are many languages like PHP, Perl, Python or Java\footnote{\url{http://en.wikipedia.org/wiki/Server-side_scripting}}.
% \textbf{Why learn a new language if things can be accomplished with existing languages and tools?}
There are developers seeing the need for Dart especially as better alternative to Javascript. Google itself states in a leaked memo:
\begin{quotation}
``Javascript has fundamental flaws that cannot be fixed merely by evolving the language.''\cite{Memo}
% [...]
% Building delightful applications on the web today is far too difficult. The cyclone of innovation is increasingly moving off the web onto iOS and other closed platforms. Javascript has been a part of the web platform since its infancy, but the web has begun to outgrown it.''\cite{Memo}
\end{quotation}
But there is even more than client-side development:
\begin{quotation}
``Developers have not been able to create homogeneous systems that encompass both client and server, except for a few cases such as Node.js and Google Web Toolkit (GWT).''\cite{TechOver}
\end{quotation}
% Seeing Google's design goals, studying the key features and the language concepts shows that Google learned from the past years of web development, learned from Javascript and the difficulties of developing responsive web applications not only for desktop but also for the growing number of mobile devices and tablets.
Let's have a look at the key features Google points out:\cite{TechOver}
\begin{description}
\item[Classes] Class-based object-orientation is popular and known to most developers.\cite{TechOver}
\item[Optional typing] The programmer can decide on the need for typing, allowing rapid prototyping -- without typing -- and providing ``type-checking tools [...] for debugging'' -- with typing.\cite{TechOver}
\item[Libraries] Software can rely on ``independently developed pieces of code''.\cite{TechOver}
\item[Tools] ``Dart will include a rich set of execution environments, libraries, and development tools built to support the language''.\cite{TechOver}
\end{description}