MODERN WEB DEVELOPMENT

Slides:



Advertisements
Presentasi serupa
Frameworks FTSI Unipdu Jombang.
Advertisements

Materi ini dapat didownload di
Praktikum PTI Sekolah Tinggi Ilmu Statistik Oleh : SIS - BPS Content Management System.
Framework Aplikasi Web
PERTEMUAN 1 PENGENALAN WEB FRAME WORK Setelah mengikuti kuliah ini mahasiswa dapat mengetahui dan memahami dasar-dasar web frame work.
Pemrograman Internet Basis Java
Desain Web R0312 – Grafik Komputer.
3 sks.  Teknologi web adalah metodologi atau perangkat lunak yang mendukung peningkatan kemampuan Aplikasi Web dari segi  Interface : menarik dan user.
CodeIgniter By ISNARDI, M.Kom.
Internet & Pemrograman Web Pertemuan I : Pengenalan Internet Oleh : Hadi Santoso.
Lecturer : Bambang Warsuta, S.Kom, M.T.I
TEKNOLOGI APLIKASI WEB Framework PHP – Code Igniter Ferry Astika S.
Pemrograman Internet Basis Java
Framework & Content Management System
Rekayasa Web Ch. 5 Pendekatan Pengembangan Aplikasi Web
Proses Pengembangan Website
Irfan Santiko, M.Kom Build Web With Wordpress Framework.
Membangun Proyek Websiete
Teknologi Web.
WEB Pengembangan Evangs Mailoa Prinsip Dasar Internet, Web,
Content Managament System
Perancangan Web dan Internet Wafa Sofiah Muchtar, S.Kom.
بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ halaman-halaman situs, yang biasanya terangkum dalam sebuah domain atau subdomain, yang tempatnya berada di dalam.
Minggu 1…… Page 1 MINGGU Ke Satu Pemrograman Visual 2 Pokok Bahasan: Mengenal Web dengan ASP Tujuan Instruksional Khusus: Mahasiswa akan dapat menjelaskan.
Pemrograman web dasar Pertemuan ke-2 By Tri Pratiwi BSc, Meng, MPhil.
PERTEMUAN KE 2 JAVA SERVER PAGES (JSP) BY : TITO SUGIHARTO
Pemrograman Web/TI/ AK045216/2 sks Pertemuan ke 14 Content Management System  Apa itu CMS ?  Mengapa Perlu CMS ?  Content and Design  Bagan CMS Basic.
KONSEP PEMROGRAMAN WEB
Pengenalan Web Server dan Server Side Script
Pemrograman Web II Ganjil
Membangun Aplikasi Berbasis Web Dengan CodeIgniter Framework.
Pemrograman internet ABU SALAM, M.KOM.
Presented By MUSTHAFA ZAHIR
PENDEKATAN PADA PENGEMBANGAN APLIKASI WEB
Pengantar Internet & HTML Toufan D Tambunan & Indra L Sardi
Pengenalan Dasar Web Pertemuan 1
Teknologi Dasar Internet dan Web
Presented by : Ainul Yaqin Wahyudin ( )
Frameworks Lasmedi Afuan, ST.,M.Cs.
Kelompok Delapan Muhammad Fadlan : M. Iksan Raharjo :
Pemrograman internet ABU SALAM, M.KOM.
Macromedia Dreamweaver
JavaScript Part 1 : Pengertian dan Pengenalan JavaScript
CMS Generator menggunakan CakePHP
Pengantar Teknologi Mobile
CARA MEMBUAT BLOG DENGAN WORDPRESS
Pemrograman Web Dinamis
Wordpress.
INTERNET Internet adalah suatu jaringan global yang terbentuk dari jaringan-jaringan lokal dan regional, memungkinkan komunikasi data antar komputer-komputer.
Pemrograman internet ABU SALAM, M.KOM.
Keamanan Sistem World Wide Web
Prinsip Dasar Internet, Web dan Pemrograman Web
Sistem Manajemen Basis Data Web
IMPLEMENTASI AJAX DALAM WEBSITE APOTIK ONLINE Ibrahim Pelu,
Pengembangan Aplikasi Framework (IT657)
Prinsip Dasar Internet, Web dan Pemrograman Web
Peng. Komp & TI 2C Peng. Komp & TI 2C Peng. Komp & TI 2C
Framework Codeigniter
Keamanan Web Server Pertemuan 9.
JSF Java Server Faces.
Pengantar Teknologi Mobile
Pemrograman Internet Hendra Gunawan.
CARA MEMBUAT BLOG DENGAN WORDPRESS
Framework Codeigniter
Mempercantik website dengan bootstrap
JAWABAN PRETEST IT CENTER UNSWAGATI.
APLIKASI CLIENT SERVER
Pemrograman Web Dasar (4 SKS)
INTERNET Internet adalah suatu jaringan global yang terbentuk dari jaringan-jaringan lokal dan regional, memungkinkan komunikasi data antar komputer-komputer.
BBPSDMP KOMINFO MEDAN IMPLEMENTASI WEBSITE 1.web 1.0 merupakan teknologi web yang pertama kali digunakan dalam aplikasi world wide web 2.Web 2.0 dipopulerkan.
Transcript presentasi:

MODERN WEB DEVELOPMENT Andrew Hadinyoto hadinyoto.andrew@gmail.com

Evolusi Bisnis Memakai Web (1) Static HTML Biaya pembuatan terhitung berdasarkan jumlah halaman Biaya untuk hosting Setiap perubahan perlu developer atau ahli HTML Situs-situs gratis untuk static HTML Google Site

Evolusi Bisnis Memakai Web (2) Content Management System (CMS) Aplikasi web (program) yang diinstal di web server Mudah untuk mengupdate isi web (tanpa perlu memahami HTML) Desain dapat distandardisasi Perlu server dan provider yang mengsupport aplikasi tersebut Contoh: Joomla, Drupal, Wordpress Free online: blogger.com, wordpress.com

Evolusi Bisnis Memakai Web (3) Penyesuaian (customize) CMS yang ada Memakai “plugins” yang tersedia Membuat “plugin” sendiri Jika Open Source: mengadaptasi code sesuai keperluan (opsi terakhir)

Evolusi Bisnis Memakai Web (4) Membuat aplikasi sendiri dari awal Tergantung kebutuhan bisnis Strategy bisnis Pengembangan ke masa depan Opsi ini biasanya tidak murah Biaya untuk developers (internal atau external) Waktu (good software takes time) Saran: lakukan ini sebagai opsi terakhir

Komponen di web aplikasi pada umumnya HTTP Proprietary Client: Browser HTML CSS Javascript Server: - Web Server (Apache, IIS) Business Logic Program (PHP, JSP) SQL untuk akses ke database Storage: - SQL database

Komplikasi Teknologi HTML PHP SQL Belum terikut: Javascript dan CSS Source from: http://devzone.zend.com/node/view/id/663 Belum terikut: Javascript dan CSS http://devzone.zend.com/node/view/id/663

Membuat Aplikasi Web itu SULIT! Penguasaan teknologi: HTML CSS Backend Programming (PHP, Java JSP/Servlet, .NET, dsb.) Javascript (front-end programming) SQL Security

Evolusi Pembuatan Aplikasi Web Awal 1990s Text Images Pertengahan 1990s Flash mulai diperkenalkan HTML table, HTML forms Animated images Cold Fusion, CGI programming dengan Perl Akhir 1990s PHP Database dengan MySQL Flash menjadi sangat populer Javascript mulai banyak pemakaiannya http://www.queness.com/resources/images/Evolution-of-web-design-med.gif

Evolusi Pembuatan Aplikasi Web 2000 CSS mulai berpengaruh Pemisahan layout dengan desain Awal 2000s Javascript menjadi sangat populer, dengan support dari browsers Microsoft’s Asynchronous HTTP Request (AJAX) Pertengahan 2000s XML, Web Services Content Management System (CMS) Web Frameworks (Struts, Spring, Ruby on Rails)

Evolusi Pembuatan Aplikasi Web Akhir 2000s Web 2.0 – AJAX semakin dominan HTML 5 (kemajuan penting) Frameworks semakin dominan (Rails, Django, Spring) Javascript menjadi populer lagi (jQuery library) Integrasi dengan web aplikasi yang lain lewat web services (Facebook, Google, Twitter, dsb.) Web di smart phone (dengan dimensi dan limitasi yang berbeda dengan desktop/laptop)

Membuat Aplikasi Web Perlu Strategi

Tanpa Strategi dan Perencanaan Sulit pemeliharaanya Pembetulan bugs Sulit dikembangkan penambahan fitur akan sulit Berpotensi adanya lubang dalam keamanan aplikasi tersebut

Strategi mempermudah pembuatan aplikasi web Menggunakan Framework Web Framework Javascript Framework CSS Framework Menggunakan Version Control

Perencanaan: Web Framework Kerangka pengaturan komponen web aplikasi untuk mempermudah development Pengaturan peletakan dan pembagian files HTML, CSS Template Konfigurasi files Pengaksesan data Pengaturan akses lewat URL Pengaturan session

Tipe framework yang dominan: MVC Framework yang berdasarkan MVC membagi komponen dalam 3 bagian – Model, View, Controller DB Model HTML, CSS, Templates Controller Template

MVC Model Bagian dari software aplikasi yang berhubungan dengan logika pengaksesan data Dalam aplikasi web, biasanya ini adalah code yang mengakses database View Bagian dari software aplikasi yang mengatur presentasi atau user interface Dalam aplikasi web, biasanya HTML dan templates Controller Menerima user input dan memproses input tersebut Bagian dari software aplikasi yang mengatur logika bisnis aplikasi Controller juga mengatur Model dan View mana yang akan diakses

Web Frameworks PHP Java Python Ruby CodeIgniter, CakePHP, Symfony, Yii, Zend Java Struts, Spring, JBoss (EJB), ZK Python Django, Web2py, Zope, CherryPy, TurboGears Ruby Ruby on Rails, Sinatra

Ruby on Rails Web Framework berdasarkan oleh Ruby programming language Release pertama: 2004 Oleh: David Heinemeier Hansson Untuk project Basecamp (project managament website)

Ruby MRI (standard) Jruby (Ruby di Java VM) Oleh: Yukihiro Matsumoto (Heroku) Release pertama: 1995 Object Oriented Programming Dynamic typing Library yang cukup lengkap Implementasi MRI (standard) Jruby (Ruby di Java VM) IronRuby (Ruby di .NET CLI)

Prinsip Dari Ruby on Rails Model View Controller (MVC) Convention Over Configuration Hanya perlu konfigurasi secara manual kalau “menyimpang” dari penggunaan biasa Asumsi penamaan model, view, controller dan files Asumsi penamaan kolom-kolom database table Don’t Repeat Yourself Tanpa pengulangan code untuk mengerjakan sesuatu yang sama

Javascript Framework Mempermudah pemograman dengan Javascript Mempermudah seleksi DOM elements dan memanipulasinya Animasi Komponen User Interface Library: JQuery Google Closure Yahoo YUI Menarik: CoffeeScript (Rails 3.1)

Membantu dengan layout dan desain Typography (fonts) CSS Frameworks: Membuat penampilan web menarik secara cepat Typography (fonts) CSS Frameworks: Blueprint - http://www.blueprintcss.org/ Bootstrap - http://twitter.github.com/bootstrap/

<canvas>, <svg>, <audio>, <video>, dsb. Dalam proses standardisasi, tapi sudah banyak terimplementasi Tags yang baru <canvas>, <svg>, <audio>, <video>, dsb. API yang baru File API LocalStorage IndexedDB (non-relational database) Fitur yang lain Offline Web

Menggunakan Version Control Program untuk melacak perubahan dalam file Sangat berguna untuk development Kenapa perlu melacak perubahaan? Untuk melacak bugs dalam development Kapan suatu fitur ditambahkan Kapan suatu code ditambahkan dan dihilangkan (diff), dan kenapa (log)? Sejarah perubahan semua files (log) Sharing dan sinkronisasi perubahan tersebut

Konsep

Konsep

Fitur-fitur Version Control Branching Membuat copy lalu melakukan perubahan yang parallel Berguna untuk “release” atau membuat fitur software yang baru tanpa berefek ke yang ada sekarang v2a v2b Branch v1 v2 v3 Trunk

Fitur-fitur Version Control Merging Untuk menggabungkan 2 cabang (branches) Berguna untuk menggabungkan fitur baru di cabang lain ke cabang utama (trunk) v2b Branch v3 v4 Trunk

Tipe Version Control Sentralisasi Distributed (desentralisasi) Repository di server yang dishare Lebih mudah dimengerti and dikuasai Software: Subversion CVS, Visual SourceSafe Distributed (desentralisasi) Setiap client mempunyai repository masing-masing Repository-repository tersebut dapat disinkronisasi Git Mercurial, Bazaar

Metodologi pembuatan software dalam team Tambahan Metodologi pembuatan software dalam team Agile Web Development Development proses dengan antisipasi perubahan Otomatisasi testing Unit testing (built-in di Rails) Functional testing Performance testing

Penutup Perlukah anda membuat dari awal? Strategi: gunakan tools, libraries dan frameworks untuk mempermudah Pentingnya pemikiran untuk pemeliharaan aplikasi