Pengembangan web

Pengembangan Web sebagai sebuah industri

Sejak pertengahan 1990-an, pengembangan web telah menjadi salah satu industri dengan pertumbuhan tercepat di dunia. Pada tahun 1995 ada kurang dari 1.000 perusahaan pengembangan web di Amerika Serikat, tetapi pada tahun 2005 ada lebih dari 30.000 perusahaan seperti di Amerika Serikat saja. Pertumbuhan industri ini didorong oleh perusahaan besar yang ingin menjual produk dan layanan kepada pelanggan mereka dan untuk mengotomatisasi bisnis alur kerja.
Selain itu, biaya pengembangan situs web dan hosting telah menurun secara dramatis selama waktu ini. Daripada biaya sepuluh ribu dolar, seperti yang terjadi untuk website awal, satu sekarang dapat mengembangkan situs web sederhana untuk gratis menggunakan salah satu dari banyak pembangun website gratis seperti Google Sites dll, tergantung pada kerumitan dan jumlah konten. Perusahaan pengembangan situs Web yang lebih kecil sekarang mampu membuat desain web diakses baik perusahaan kecil dan individu lebih mendorong pertumbuhan industri pengembangan web. Sejauh alat pengembangan web dan platform prihatin, ada sistem yang tersedia untuk publik secara gratis untuk membantu dalam pengembangan. Sebuah contoh populer adalah LAMP ( Linux, Apache, MySQL, PHP ) stack, yang biasanya dibagikan secara gratis. Fakta ini saja telah diwujudkan ke banyak orang di seluruh dunia menyiapkan situs-situs Web baru setiap hari dan dengan demikian memberikan kontribusi untuk meningkatkan popularitas pengembangan web. Faktor lain telah bangkitnya mudah untuk menggunakan WYSIWYG web pengembangan perangkat lunak, yang paling menonjol Adobe Dreamweaver, Netbeans, webdev, atau Microsoft Expression Studio, Adobe Flex . Menggunakan perangkat lunak tersebut, hampir setiap orang dapat mengembangkan halaman Web dalam hitungan menit. Pengetahuan tentang HyperText Markup Language ( HTML ), atau bahasa pemrograman lain tidak diperlukan, tetapi disarankan untuk hasil yang profesional.
Generasi berikutnya dari alat pengembang web menggunakan pertumbuhan yang kuat di LAMP, Java Platform, Enterprise Edition dan teknologi Microsoft NET. teknologi untuk menyediakan Web sebagai cara untuk menjalankan aplikasi online. Pengembang Web sekarang membantu untuk memberikan aplikasi sebagai layanan Web yang secara tradisional hanya tersedia sebagai aplikasi pada komputer berbasis meja.
Alih-alih menjalankan eksekusi kode pada komputer lokal, pengguna berinteraksi dengan aplikasi online untuk membuat konten baru. Hal ini telah menciptakan metode baru dalam komunikasi dan memungkinkan banyak kesempatan untuk desentralisasi informasi dan distribusi media. Pengguna sekarang dapat berinteraksi dengan aplikasi dari berbagai lokasi, bukannya terikat pada workstation khusus untuk lingkungan aplikasi mereka.
Contoh transformasi dramatis dalam komunikasi dan perdagangan yang dipimpin oleh pengembangan web termasuk e-commerce. Situs lelang online seperti eBay telah mengubah cara konsumen mengkonsumsi dan pembelian barang dan jasa. Reseller online seperti Amazon.com dan Buy.com (di antara banyak, banyak orang lain) telah mengubah pengalaman belanja dan tawar-menawar berburu bagi banyak konsumen. Contoh lain baik komunikasi transformatif yang dipimpin oleh pengembangan web adalah blog . Web aplikasi seperti WordPress dan Movable Type telah membuat blog dengan mudah diimplementasikan lingkungan untuk situs Web individu. Open source sistem manajemen konten seperti Joomla!, Drupal, Xoops, dan TYPO3 dan perusahaan manajemen konten sistem seperti Alfresco telah memperluas pengembangan web menjadi mode baru interaksi dan komunikasi.
Selain itu, pengembangan web telah pindah ke fase baru komunikasi internet. Komputer situs web tidak lagi hanya alat untuk bekerja atau commerce, tetapi digunakan sebagian besar untuk komunikasi. Website seperti Facebook dan Twitter menyediakan pengguna platform untuk bebas berkomunikasi. Ini bentuk baru komunikasi web juga mengubah e-commerce melalui jumlah hits dan iklan online.

Daerah Khas

Pengembangan web dapat dibagi ke dalam banyak bidang dan hirarki pengembangan web yang khas dan dasar mungkin terdiri dari:

Client Side Coding

Ajax Asynchronous JavaScript menyediakan metode baru menggunakan JavaScript, dan bahasa lainnya untuk meningkatkan pengalaman pengguna.
Flash Adobe Flash Player adalah plugin browser mana-mana siap untuk RIA . Flex 2 juga dikerahkan untuk Flash Player (versi 9 +).
JavaScript Secara formal disebut ECMAScript, JavaScript adalah sisi platform klien mana-mana untuk menciptakan dan memberikan aplikasi Web yang kaya yang juga dapat berjalan di berbagai perangkat.
JQuery Cross-Browser JavaScript library yang dirancang untuk menyederhanakan dan mempercepat scripting sisi klien dari HTML.
Microsoft Silverlight Plugin Browser Microsoft yang memungkinkan grafis animasi vektor, dan high-definition video playback, diprogram menggunakan XAML dan. NET bahasa pemrograman.
Nyata Studio Web Edition adalah sebuah lingkungan pengembangan aplikasi yang cepat untuk web. Bahasa ini berorientasi objek dan mirip untuk kedua VB dan Java. Aplikasi unik dikompilasi ke kode biner.
HTML5 dan CSS3 terbaru HTML standar yang diusulkan dikombinasikan dengan standar yang diusulkan terbaru untuk CSS native mendukung banyak fungsi sisi klien disediakan oleh framework lain seperti Flash dan Silverlight
Melihat barang-barang dari sebuah “pendekatan payung”, sisi client coding seperti XHTML dijalankan dan disimpan pada klien lokal (di web browser), sedangkan kode sisi server yang tidak tersedia untuk klien dan dijalankan pada web server yang menghasilkan XHTML yang sesuai yang kemudian dikirim ke klien. Sifat pengkodean sisi client memungkinkan Anda untuk mengubah HTML pada klien lokal dan refresh halaman dengan konten diperbarui (lokal), desainer web harus diingat pentingnya dan relevansi untuk keamanan dengan script sisi server mereka. Jika script sisi server menerima konten dari script klien lokal dimodifikasi sisi, pengembangan web dari halaman yang kurang dibersihkan dengan hubungan dengan keamanan.

Server Side Coding

ASP (Microsoft berpemilik)
CSP, Server-Side ANSI C
ColdFusion (Adobe proprietary, Macromedia, sebelumnya Allaire)
CGI
Groovy (bahasa pemrograman) Grails (kerangka kerja)
Jawa, misalnya Java EE atau WebObjects
Lotus Domino
Perl, misalnya Catalyst, Penari (semua open source)
PHP (open source)
Python, misalnya Django (kerangka web) (open source)
Nyata Studio Web Edition
Ruby, misalnya Ruby on Rails (open source)
Smalltalk misalnya Seaside, AIDA / Web
SSJS Server-Side JavaScript, misalnya Aptana Jaxer, Rhino Mozilla
Websphere (IBM proprietary)
NET. dan. NET MVC Framework (Microsoft berpemilik)
World Wide Web telah menjadi platform utama untuk pengembangan web berbagai aplikasi perusahaan yang kompleks dan canggih dalam beberapa domain. Selain fungsi yang melekat multifaset mereka, ini menunjukkan perilaku aplikasi web kompleks dan menempatkan beberapa tuntutan unik, kinerja mereka keamanan kegunaan, dan kemampuan untuk tumbuh dan berkembang. Namun, sebagian besar aplikasi ini terus dikembangkan dengan cara ad-hoc, memberikan kontribusi untuk masalah kegunaan, pemeliharaan, kualitas dan kehandalan (1) (2). Sementara pengembangan web bisa mendapatkan keuntungan dari praktek-praktek dari disiplin terkait lainnya, memiliki karakteristik tertentu yang membedakan permintaan pertimbangan khusus. Dalam beberapa tahun terakhir dari pengembangan web telah ada beberapa perkembangan menuju menangani masalah ini dan persyaratan. Sebagai disiplin yang muncul, rekayasa web aktif mempromosikan sistematik, pendekatan disiplin dan terukur terhadap keberhasilan pengembangan berkualitas tinggi, ubiquitously digunakan sistem berbasis web dan aplikasi (3) (4). Secara khusus, rekayasa web berfokus pada, teknik metodologi dan alat yang merupakan dasar dari pengembangan aplikasi web dan desain mereka yang mendukung, pengembangan, evolusi, dan evaluasi. Pengembangan aplikasi web memiliki karakteristik tertentu yang membuatnya berbeda dari perangkat lunak tradisional, sistem informasi, atau pengembangan aplikasi komputer.
Rekayasa web adalah multidisiplin dan mencakup kontribusi dari berbagai bidang: sistem analisis dan desain, rekayasa perangkat lunak, hypermedia / hypertext teknik, persyaratan teknik, interaksi manusia-komputer, antarmuka pengguna, informasi teknik, pengindeksan informasi dan pengambilan, pengujian, pemodelan dan simulasi, proyek manajemen, dan desain grafis dan presentasi. Rekayasa web bukan tiruan, atau subset dari rekayasa perangkat lunak, walaupun keduanya melibatkan pemrograman dan pengembangan perangkat lunak. Sementara rekayasa web menggunakan prinsip-prinsip rekayasa perangkat lunak, pengembangan web meliputi pendekatan baru, metodologi, alat, teknik, dan pedoman untuk memenuhi kebutuhan yang unik untuk aplikasi berbasis web.

Pertimbangan Keamanan

Pengembangan Web memperhitungkan banyak pertimbangan keamanan, seperti kesalahan entri data pengecekan melalui bentuk-bentuk, output filtering, dan enkripsi. [2] praktik berbahaya seperti injeksi SQL dapat dijalankan oleh pengguna dengan maksud sakit namun dengan hanya pengetahuan primitif dari perkembangan web sebagai keseluruhan. Script dapat dimanfaatkan untuk memberikan akses tidak sah ke pengguna yang jahat mencoba untuk mengumpulkan informasi seperti alamat email, password dan konten yang dilindungi seperti nomor kartu kredit.
Beberapa ini tergantung pada lingkungan server (paling sering Apache atau Microsoft IIS) yang bahasa scripting, seperti PHP, Ruby, Python, Perl atau ASP berjalan, dan karena itu belum tentu ke pengembang web sendiri untuk mempertahankan . Namun, pengujian ketat aplikasi web sebelum rilis publik didorong untuk mencegah eksploitasi tersebut terjadi.
Menjaga server web yang aman dari gangguan ini sering disebut Server Port Pengerasan. Banyak teknologi ikut bermain menjaga informasi di internet yang aman ketika ditransmisikan dari satu lokasi ke lokasi lain. Misalnya Secure Socket Layer Enkripsi ( SSL ) Sertifikat dikeluarkan oleh otoritas sertifikat untuk membantu mencegah penipuan internet . Banyak pengembang sering menggunakan berbagai bentuk enkripsi ketika transmisi dan menyimpan informasi sensitif. Sebuah pemahaman dasar dari teknologi informasi masalah keamanan sering menjadi bagian dari pengetahuan seorang pengembang web.
Karena lubang keamanan baru ditemukan di aplikasi web bahkan setelah pengujian dan peluncuran, update patch keamanan untuk aplikasi yang sering digunakan secara luas. Hal ini sering tugas pengembang web untuk menjaga aplikasi up to date patch keamanan yang dirilis dan masalah keamanan baru ditemukan.