Why Zend Framework
Menurut saya, zend adalah tipikal hybrid framework ,dimana beberapa komponen zend framework dapat digunakan sebagai standalone component library. Zend juga sudah dianggap sebagai best practices dalam pengembangan Selain itu, proven. Zend Technologies adalah perusahaan yang berkontribusi tinggi di team developer The Zend Engine, the core of PHP. Jadi bisa dibilang Zend Framework berasal dari "pembuat PHP".
Tulisan ini dibuat oleh programmer yang sedang menguliti zend framework karena (terpaksa) belajar karena suatu projek, tapi akhirnya malah tertantang untuk mengenal lebih dalem ^^
Framework terjemahan mudahnya adalah kerangka kerja, sedangkan dalam dunia pemrograman framework adalah bentuk kumpulan perintah suatu bahasa pemrograman yang telah diatur sedemikian rupa menjadi beberapa modul-modul untuk mempermudah pemrograman.
Why Use A Framework
Pertama kali mengenal framework,pertanyaan yang sering muncul yaitu "Kenapa pake framework,kan bisa aja bikin berhalaman2 php tok plus folder include,script sama style terpisah aja kan udah cukup". Well,memang bisa aja, suatu project nda butuh framework, for whatever reason. Tapi ketika dihadapkan pada suatu non trivial project, berjibaku dengan ribuan line of code, menggabungkan dari berbagai sumber banyak programmer, utuh perubahan cepat n highly maintained, bagi saya make framework dalah opsi yang harus diambil. Terserah mau bikin sendiri atau pake yang udah ada, kalo saya sih prefer opsi yang kedua :)
Terutama untuk php, simplicity yang ditawari bisa jadi jebakan. Because there are less restrictions on the structure of the code you write, it's much easier to write bad code. But there is a solution: use a framework.Mari kita list keuntungan menggunakan framework :
Ga fair kalo belajar sesuatu cuman diliatin enak2nya aja, framework juga ada kekurangannya. Sebenernya bagi saya itu bukan kekurangan, tapi kesulitan awal kalo pake framework :
Beberapa komponen umum dalam suatu framework antara lain :
Model View Controller (MVC) Structured Code
MVC adalah salah satu design pattern yang paling dikenal. Kebanyakan framework mengikuti, Model View Controller (MVC) untuk memisahkan data model dari business rules dan user interface. Jika kita ingin membangun aplikasi three tiers cocok pake pola ini. Arsitektur ini sering digunakan sebagai best practices jika ingin modularisasi kode, reuse code dan memanfaatkan banyak tampilan.MVC akan menghasilkan kode yang simple, bersih dan dapat dimengerti. Ada Video parodi tentang MVC bisa dilihat di
Video MVC ModularityVideo MVC Obesity
Enforcing of good coding standards
MVC code mudah ditulis dan memiliki aturan pengkodean. Jika semua developer yang telibat mengikuti konvensi tersebut maka akan menciptakan kode yang seragam, mudah dimaintain bila ada perubahan dan juga cepat di telusuri jika ada kesalahan(bug tracking). Its getting more interesting, isn't it?
Attractive URLs Sebagian besar framework akanmenciptakan halaman2 URL yang menarik dan mudah diakses. Apache umumnya menggunakan mod_rewrite untuk membuat URL yang bersih. Apache akan menghandle request ke URL tertentu ,dan tanpa sepengathuan client, akan mengembalikan URL ini ke index.php sebagai GET string. Lalu index pagi instansiasi bagian utama dari framework. Hal ini membantu dengan Search Engine Optimization(SEO) , contoh kasus : menghubungkan posting blog kita sebagai /blog/view/why_you_should_be_using_a_framework/ akan meninggikan rangking di search engine untuk keyword tersebut daripada /blog/view.php?id=12, misalnya.
Helpful helpers
Less time coding
-- to be continued --
Which Framework is Right for Me?
Setelah kita tahu esensi penggunaan framework, selanjutnya adalah memilih framework yang akan kita pakai. Fase ini bisa menghabiskan banyak waktu, bisa harian, mingguan sampe bulanan kalo pengen membandingkan satu persatu dari semua framework yang ada :D Untuk melihat daftar PHP framework yang ada plus daftar fitur masing masing,bisa check kesini
Kunci utama dalah memilih framework adalah mencari satu dengan pola yang natural untuk kita, menyediakan services yang paling umum yang dibutuhkan aplikasi kita, dan membuat kita fokus ke pengembangan kode business logic aplikasi kita. Bukan kah itu tujuan kita menggunakan framework? Dan karena topik pembahasan nya adalah Zend Framework, berarti saya sudah mempertimbangkan hal tersebut sebelum memilih zend :D So, selanjutnya pembahasan akan lebih fokus ke framework ini.So just choose a framework and start coding!
Belakangan ini lagi mencoba explore mapserver, supaya tidak lupa tentang apa yang sedang dipelajari karena banyak juga yang dipelajari, jadi saya tuangkan dalam tulisan kali ini dari berbagai referensi yang ada, oje langsung aja ke pembahasannya. MapServer adalah sebuah lingkungan pengembangan yang bersifat open source yang digunakan untuk pengembangan aplikasi internet yang memungkinkan pengolahan suatu data spasial (peta, citra dan data vektor).Aplikasi ini pertama kali dikembangkan di Universitas Minesotta, Amerika Serikat untuk proyek ForNet (sebuah proyek untuk menajemen sumber daya alam) yang disponsori NASA (Nasional Aeronautics and Space Administration). Dukungan NASA dilanjutkan dengan dikembangkan proyek TerraSIP untuk menajemen data lahan. Saat ini, karena sifatnya yang terbuka (open source), pengembangan MapServer dilakukan oleh pengembang dari berbagai negara.
Fitur Mapserver
* Dukungan pada bahasa script dan lingkungan pengembangan populer seperti: PHP, Python, Perl, Ruby, Java dan C# * Dukungan lintas platform seperti: Linux, Windows, Mac OS X, Solaris dan lainnya * Mendukung data spasial dalam format raster seperti TIFF/GeoTIFF, EPPL7 dan berbagai format data raster lain dengan menggunakan library GDAL * Mendukung data spasial dalam format vektor seperti : Shapefile (ESRI), ArcSDE (ESRI), PostGIS dan berbagai format data vektor lain dengan menggunakan library OGR * Mendukung rendering karakter berupa font TrueType * Dukungan pada proyeksi peta : Proyeksi peta on-the-fly dengan lebih dari 1000 sistem proyeksi lewat library Proj. 4
Anatomy Aplikasi Mapserver
Sebuah aplikasi mapserver sederhana terdiri dari:
* Mapfile – adalah file konfigurasi terstruktur untuk aplikasi mapserver anda. Berisi konfigurasi wilayah peta anda, lokasi data dalam server dan format output dan lainnya. Juga berisi layer-layer peta anda, sumber data, proyeksi dan simbologi. Biasanya adalah file teks dengan ekstensi .map. * Data Geografis – Mapserver bisa menggunakan beberapa jenis/format sumber data geografis. Format utama yang didukung adalah ESRI Shapefile. * Halaman HTML – merupakan jembatan antara user dan mapserver. Berupa file HTML dalam server/hosting anda. Mapserver bisa dipanggil untuk membuat peta statis dalam halaman HTML anda, atau untuk membuatnya interaktif anda bisa membuat form dalam HTML ini.
CGI adalah program yang ’stateless’, setiap rekues yang dikirim adalah selalu baru, dia tidak bisa mengingat apa yang sudah dilakukannya sebelumnya lewat permintaan anda. Itulah sebabnya, aplikasi anda harus mengirim terus parameter-parameter yang diinginkan (layer apa saja, di wilayah mana peta ditampilkan, mode aplikasi, dsb) yang bisa ditentukan lewat variabel tersembunyi dalam form atau lewat URL.
Aplikasi/form mapserver sederhana bisa terdiri dari dua halaman HTML: o File inisialisasi – menggunakan form dengan variabel tersembunyi untuk mengirim kueri awal ke webserver dan mapserver. Form ini bisa ditempatkan secara terpisah atau digantikan dengan mengirim variabel lewat URL. o File templat – untuk mengatur bagaimana tampilan peta, legenda dan informasi lainnya disajikan dalam halaman HTML lewat browser. Dengan mengirim referensi variabel Mapserver CGI pada templat HTML, anda akan meminta mapserver menerjemahkannya menjadi nilai variabel bergantung pada status terakhirnya (misalnya nama peta, peta referensi, besar/cakupan peta, dsb). Templat ini juga akan menentukan bagaimana nantinya pengunjung berinteraksi dengan aplikasi mapserver (perbesaran/pengecilan, menggeser peta, kueri, dsb). * Mapserver CGI – file biner yang dieksekusi untuk menerima permintaan/rekues dan menerjemahkannya menjadi gambar peta, data, dsb. Berada di direktori cgi-bin atau direktori lain yang ditentukan pada webserver. Di RuangWeb.com ini berada di /cgi-sys pada domain anda. * HTTP Server (Webserver) – aplikasi yang menyajikan halaman HTML pada browser. RuangWeb.com menggunakan Apache sebagai webservernya.
Cara Kerja Mapserver
Secara teknis MapServer adalah program CGI yang terpasang dan berjalan tapi tidak aktif dalam server, aktif hanya ketika pada saat di panggil saja. Ketika ada request dari klient, maka request tersebut akan dikirimkan ke mapserver, dari informasi yang dikirimkan lewat URL dan mapfile untuk membuat (generate) peta yang diinginkan. request ini bisa juga termasuk request untuk membuat legenda, peta referensi, skala, dan variabel lain yang dikirimkan ke CGI.
Follow these steps to give the beautiful transparent text effect in Fireworks.
Step 1Open an image on the canvas.
Step 2 Type a text on the image and position it wherever you want.
Step 3 Select the text and go to the Properties window below the screen, select Effects > Bevel and Emboss > Raised Emboss
Step 4 On the Raised Emboss properties, un check the Show Object option and change the value : Width - 2, Contrast - 100%, Softness – 0 and Angle - 30.
You can make a beautiful frame for your photograph collection by using Macromedia Fireworks. Here are the steps :Step 1Open a new page, then open image/foto
Step 2Select the image
Step 3Choose menu Filters>Alien Skin Splat LE>Edges. At the option Edge Mode, choose form of display frame that you likes.
Saat ini kita sudah banyak mengenal beberapa aplikasi yang menggunakan peta seperti Google Map, wikimapia, dan lain-lain. Aplikasi yang menggunakan peta untuk visualisasi informasi yang ada dalam sistem biasa kita sebut dengan Geographic Information System (GIS). GIS ini dapat dibangun dibangun spesifik sesuai kebutuhan pengguna yang merupakan suatu instansi tertentu atau perorangan. dalam tiga pilihan solusi yaitu: stand-alone, berbasis desktop, dan berbasis web.
ArcGIS Server adalah salah satu platform untuk pembangunan aplikasi GIS berbasis web. Beberapa contoh platform lain sebagai pembanding adalah ArcIMS (teknologi sebelum ArcGIS Server) dan Mapserver. ArcGIS Server merupakan solusi platform berbayar (lisensi) untuk pembangunan aplikasi GIS berbasis web yang dikeluarkan oleh ESRI. ArcGIS Server dilengkapi dokumentasi library dan contoh yang cukup lengkap, sehingga walaupun merupakan teknologi baru dibidang GIS berbasis web, kita dapat melakukan eksplorasi terhadap platform ini dengan cukup mudah. ArcGIS Server dilengkapi dengan beberapa pilihan API tergantung kebutuhan seperti Javascript API, Flex, dan MS Silverlight. Pada tulisan ini yang saya bahas adalah khusus Javascript API. Javascript API ini berisi fungsi-fungsi terkait manipulasi visualisasi peta di aplikasi. JS API ini termasuk lengkap sehingga untuk membuat aplikasi GIS berbasis web standar (zoom, pan, marker), developer tidak perlu membuat script kode rumit melainkan cukup menggunakan apa yang sudah ada pada API ini. Kelas-kelas objek yang ada pada JS API di ArcGIS Server meliputi:
Dokumentasi lengkap untuk kelas-kelas di atas dapat dilihat disini.
Library kelas yang dijabarkan di atas dan segala fungsinya dibangun menggunakan Dojo sebagai framework javasript-nya. Nah pertanyaan selanjutnya, apa itu Dojo? Dojo adalah sebuah framework javascript. Berbeda sedikit dengan scriptaculous atau jquery, dojo menyediakan dasar bagi developer untuk membangun sendiri fungsi javascript-nya atau menggunakan fungsi-fungsi yang memang sudah didefinisikan oleh Dojo. Instalasi Dojo mudah untuk dilakukan, kita hanya perlu men-download 1 package Dojo versi tertentu sesuai kebutuhan, dan di dalamnya sudah terdapat lengkap framework serta fungsi buatan yang bisa langsung digunakan oleh para developer. Sebuah package Dojo terdiri dari 3 sub-package, yaitu:
Jadi dengan Dojo yang dapat kita sebut ‘one complete package, diharapkan developer tidak perlu lagi menyisipkan banyak potongan kode dari JS API/framework lainnya karena didalam Dojo semua fungsi dasar javascript dan interaktivitas yang standar digunakan sudah disediakan.
Penjelasan masing-masing mengenai apa itu ArcGIS Server dan Dojo telah dijabarkan di atas. Kesimpulannya, bila para developer GIS butuh alternatif mengenai pilihan lingkungan pengembangan SIG berbasis web, jawabannya adalah ArcGIS Server dengan JS API menggunakan Dojo. ArcGIS Server pada saat ini masih terbilang teknologi baru, sehingga artikel terkait dengan implementasi, kekurangan, kelebihan, dan pengalaman developer dalam pembangunannya masih sedikit. Hal yang mempermudah developer untuk membangun aplikasi di atas arcGIS server adalah JS API itu sendiri, developer hanya perlu mempelajari lebih dalam mengenai JS API bawaan ArcGIS dan Dojo.
Semoga Berguna.. Selamat Mencoba
p.s: untuk para yang lebih ahli, klo ada kesalahan dalam menjelaskan, mohon komentarnya.. terima kasih..