Selasa, 31 Mei 2016

Summary - A framework for programmatically designing user interfaces in JavaScript

Tidak ada komentar
SUMMARY
A framework for programmatically designing user interfaces in JavaScript
( Dimas Rizward H. Utomo / 1534010037 )


Purpose
– The purpose of this paper is to investigate the feasibility of creating a declarative user interface language suitable for rapid prototyping of mobile and Web apps. Moreover, this paper presents a new framework for creating responsive user interfaces using JavaScript.

Design/methodology/approach
– Very little existing research has been done in JavaScript-specific declarative user interface (UI) languages for mobile Web apps. This paper introduces a new framework, along with several case studies that create modern responsive designs programmatically.

Findings
– The fully implemented prototype verifies the feasibility of a JavaScript-based declarative user interface library. This paper demonstrates that existing solutions are unwieldy and cumbersome to dynamically create and adjust nodes within a visual syntax of program code.

Originality/value
– This paper presents the Guix.js platform, a declarative UI library for rapid development of Web-based mobile interfaces in JavaScript.

Declarative user interfaces have unique advantages for the development of applications. Traditional programming syntax and API development make it difficult to visualize layouts, often leading to cumbersome and “shortest solution” approaches to interfaces. Although, ideally, artists may design interfaces, there are many situations where the interface is so dynamic that the majority, if not all, of the application’s interface must be created within program code.

The following four examples demonstrate the shortest code approaches, in four different frameworks, to programmatically create a HTML header 1 Document Object Model (DOM) element (H1) and append it to a div element. In Algorithm 1, this is done in pure JavaScript (with the included text variable declaration). As can be seen, this example is overly lengthy and difficult to read. In Algorithm 2, this is done using jQuery, a popular library that simplifies some JavaScript actions. In Algorithm 3, a declarative user interface (UI) framework Nano.js is used. This framework does simplify the code required when compared with JavaScript, but it is still overly verbose. In Algorithm 4, the code solution is shown using the JavaScript framework Guix.js, the framework presented with this paper. As can be seen, its readability is far more ideal than the previous examples, foregoing the need for constructors, object parameters and named parameters within those objects:

Algorithm 1. Using native JavaScript example
var text = “Title Text”;
  var div = document.createElement(“div”);
var h1 = document.createElement(h1);
h1.innerHTML = text;
  div.appendChild(h1);


Algorithm 2. Using jQuery example
  $(“ < div/ > ”).append(“ < h1 > ”+text“ < /h1 > ”);

Algorithm 3. Using Nano.js example
  new nano({parent: nano.body(), tag: “div”})
  .add({tag: ‘h1′, text: text});

Algorithm 4: Using this paper’s framework example
  div(h1(text));
Developer-friendly programming libraries and architectures appear to be the direction for the fast-paced and high-user-requirement world of mobile application development. Such frameworks require a modern look at the requirements and expectations of user applications within internationally pervasive and short runtime life cycle applications.
This paper presents a framework for rapidly developing mobile Web applications in JavaScript. It builds on existing principles from declarative UI languages. However, it differs from other JavaScript frameworks in that the user interface can be designed entirely from JavaScript. Furthermore, the system features modern user interface features such as multilingual support and being able to save and load the state of any set of HTML components.


RINGKASAN
Framework untuk Pengembangan Tampilan Antar-Muka dengan Javascript
( Dimas Rizward H. Utomo / 1534010037 )


Tujuan
– Makalah ini bertujuan untuk meneliti kelayakan dari membuat sebuah bahasa pemrograman deklaratif untuk pengembangan tampilan antar-muka untuk pengujian secara cepat untuk aplikasi mobile dan berbasis web. Selain itu, makalah ini memperkenalkan sebuah framework baru untuk membuat tampilan responsive dengan menggunakan Javascript.
Desain/Metodologi/Pendekatan
– Sangat sedikit penelitian yang telah dilakukan dalam bahasa deklaratif untuk pengembangan tampilan antar-muka (UI) yang dikhususkan dengan Javascript untuk aplikasi mobile maupun berbasis web. Makalah ini memperkenalkan sebuah cara baru, dibekali dengan beberapa studi kasus untuk membuat tampilan responsif yang modern dalam konteks pemrograman.

Penemuan
– Rancangan awal yang telah sepenuhnya telah diimplementasikan membuktikan kelayakan library tampilan antar-muka dengan Javascript. Makalah ini menunjukkan bahwa solusi yang ada terasa berat dan rumit untuk secara dinamis membuat dan menyesuaikan simpul-simpul (nodes) dalam visualisasi sintaks dari kode program

Keaslian/Nilai
– Makalah ini mempersembahkan Guix.js, sebuah library untuk pengembangan antar-muka secara deklaratif yang mempercepat pengembangan dari tampilan antar-muka berbasis web dengan Javascript

Pengembangan tampilan antar-muka dengan cara deklaratif (menyajikan logika komputasi tanpa kontrol terhadap eksekusi program) memiliki keunggulan yang unik dalam pengembangan aplikasi. Sintaks pemrograman tradisional dan pengembangan API membuat sulitnya menyajikan visualisasi dari tata letak yang ada sehingga sering menimbulkan kerumitan dan “solusi sederhana” terhadap tampilan antar-muka. Meskipun idealnya perancang atau desainer yang melakukan desain terhadap tampilan antar-muka, ada banyak situasi di mana tampilan yang begitu dinamis yang mayoritas bagian-bagiannya harus dibuat dengan cara pemrograman langsung.

Berikut ini terdapat empat contoh yang menunjukkan pendekatan untuk cara paling sederhana dalam empat framework yang berbeda, untuk membuat bagian atas (header) dari halaman HTML dengan menggunakan elemen heading (H1) dan menggabungkannya dengan sebuah elemen div pada pemrograman DOM (Document Object Model) . Pada algoritma pertama, contoh yang disajikan menggunakan sepenuhnya Javascript vanilla tanpa adanya framework lain (yang mana disertai dengan deklarasi variabel dari teks yang digunakan). Dari contoh ini, dapat dilihat bahwa kode yang digunakan sangatlah panjang dan sulit untuk dibaca. Sedangkan pada algoritma kedua, dengan menggunakan jQuery, library yang paling banyak digunakan karena penyederhanaan terhadap sintaks yang ada pada Javascript. Pada algoritma ketiga, sebuah tampilan antar-muka dengan pemrograman deklaratif dengan menggunakan framework Nano.js. Framework ini cukup menyederhanakan langkah-langkah yang dibutuhkan jika dibandingkan dengan pure Javascript, tapi masih terlalu bertele-tele. Pada algoritma keempat, solusi yang disajikan dengan menggunakan framework Guix.js, framework yang disertai pada makalah ini. Seperti yang dapat dilihat bahwa, kode yang ditulis lebih dapat dibaca daripada contoh-contoh sebelumnya, yang membutuhkan adanya konstruktor, parameter objek ataupun parameter-parameter didalam masing-masing objek.
Algoritma 1. Contoh dengan pure Javascript
var text = “Title Text”;
  var div = document.createElement(“div”);
var h1 = document.createElement(h1);
h1.innerHTML = text;
  div.appendChild(h1);

Algoritma 2. Contoh dengan jQuery
  $(“ < div/ > ”).append(“ < h1 > ”+text“ < /h1 > ”);

Algoritma 3. Contoh dengan Nano.js
  new nano({parent: nano.body(), tag: “div”})
  .add({tag: ‘h1′, text: text});

Algorithm 4: Contoh dengan framework yang disertai pada makalah ini
  div(h1(text));

Library untuk bahasa pemograman dan arsitektur yang developer-friendly (sesuai atau cocok dengan developer) tampak akan menjadi arah utama untuk pengembangan yang membutuhkan kebutuhan yang tinggi dan cepat dalam pengembangan aplikasi berbasis mobile. Framework sejenis ini membutuhkan sebuah tampilan yang modern terhadap kebutuhan dan ekspektasi dari pengguna aplikasi dalam lingkup yang meliputi secara global dan runtime dengan siklus hidup yang pendek.

Makalah ini mempersembahkan sebuah framework untuk pengembangan aplikasi berbasis web maupun mobile secara cepat dengan Javascript. Dibuat berdasarkan prinsip-prinsip yang ada dari bahasa UI deklaratif. Namun, framework ini sangat berbeda dengan Javascript. Selain itu, fitur-fitur pada tampilan antar muka yang modern mengutamakan adanya dukungan terhadap multilingual dan dapat menyimpan dan membuat semua status dan keadaan dari tiap-tiap komponen pada HTML .




Tidak ada komentar :

Posting Komentar