Jadilah Penjinak Ular dengan 9 Web Framework Python ini

Ridwan Fajar 28 November 2016

Jadilah Penjinak Ular dengan 9 Web Framework Python ini

Python sebagai salah satu bahasa pemrograman yang diminati oleh kalangan data scientist dan ilmuwan merupakan bahasa pemrograman yang memiliki banyak sekali konsep dalam pemrograman. Kamu dapat menggunakan paradigma fungsional, prosedural, atau pemrograman berorientasi objek. Bila kamu ingin terjun di dunia web development, list berikut dapat membantu kamu untuk memilih web framework yang tepat untuk proyek yang akan kamu kembangkan hingga siap digunakan oleh user.

Mari kita simak penjelasan berikut :D.

1. CherryPy

  • Github Star: 225
  • Github URL: https://github.com/cherrypy/cherrypy
  • Official Website: https://www.cherrypy.org
Selection_001

CherryPy adalah salah satu web framework pionir yang dimiliki Python yang masih aktif hingga saat ini. Dia lahir saat Zope masih berjaya hingga kini. CherryPy merupakan sebuah micro web framework yang hanya fokus pada masalah HTTP saja. Dan kamu dapat menambahkan modul third party lainnya seperti SQL Alchemy atau WTForms untuk menambah fitur pada CherryPy.

Salah satu keunikan CherryPy adalah, Anda dapat menunjuk suatu function dalam suatu class untuk di-map menjadi URL tertentu. Bahkan CherryPy digunakan oleh TurboGears untuk menjadi salah satu bagian inti mesinnya. Hingga saat ini CherryPy masih aktif dikembangkan oleh 68 kontributor di Github.

CherryPy memiliki dukungan seperti berikut:

  • url routing
  • static file management
  • managable configuration
  • kompatibel dengan WSGI dan HTTP/1.1
  • built-in profiling, coverage, dan dukungan testing
  • dukungan terhadap session, authentication, static content, dan banyak lagi
  • dukungan bawaan untuk caching dan encoding
  • sistem konfigurasi yang enak

2. Web2Py

  • Github Star: 1.244
  • Github URL: https://github.com/web2py/web2py
  • Official Website: https://www.web2py.com
Selection_003

Merupakan salah satu full-stack enterprise framework yang free dan open source untuk membangun aplikasi web berbasis database yang aman. Web2Py merupakan salah satu web framework yang masih ada hingga hari ini. Tidak hanya soal url routing, Web2Py pun memiliki template engine yang cukup powerful untuk membuat halaman web. Hingga saat ini Web2py dikelola oleh 129 kontributor di Github.

Beberapa fitur yang dimiliki oleh Web2py antara lain:

  • dibuat oleh komunitas terpercaya
  • selalu backward compatible
  • mudah digunakan
  • dapat berjalan di banyak sistem operasi
  • dapat berjalan di banyak web server
  • dapat "berbicara" ke SQLite3, PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, dan Google App Engine
  • Aman dari cross site scripting, injection flaws, dan eksekusi file berbahaya
  • mengajarkan penggunanya apa arti MVC yang sesungguhnya
  • kompatibel dengan berbagai protokol seperti REST, RSS, HTML, REST, XML-RPC, dan lainnya
  • dukungan berbagai modul dan library yang sudah disediakan oleh Web2py
Selain itu Web2Py memiliki dokumentasi yang sangat baik dan jelas untuk digunakan pemula dalam menggunakan Web2Py.

3. Turbogears

  • Github Star: 170
  • Github URL: https://github.com/TurboGears/tg2
  • Official Website: https://www.turbogears.com
Selection_002

Web framework super besar yang satu ini ditenagai oleh CherryPy. Turbogears memiliki berbagai fitur bawaan yang sudah dipasangkan oleh pengembangnya mulai dari object relational mapper, multimedia library, utilities, dan lainnya. Hingga saat ini Turbogears masih aktif dikembangkan oleh 20 kontributor di Github.

Keunggulan lain dari Turbogears adalah sebagai berikut:

  • sistem widget yang mempermudah pembuatan aplikasi AJAX
  • mendukung multi data-exchange format
  • dapat membuat pluggable application
  • template engine yang sangat designer friendly

4. Bottle

  • Github Star: 4101
  • Github URL: https://github.com/bottlepy/bottle
  • Official Website: https://www.bottlepy.org
Selection_013

Web framework paling mini ini, mengklaim dirinya sebagai web framework paling hemat. Hal tersebut dikarenakan tidak memiliki dependensi terlalu banyak terhadap library di luar Python Standard Library. Bottle pun dapat didistribusikan sebagai satu file besar saja. Bottle memiliki sejumlah fitur bawaan yang sama lengkapnya dengan web framework besar lainnya seperti: url routing, template engine, utilities, asgi server, wsgi server.

Bottle masih aktif dikembangkan hari ini dengan bantuan 140 kontributor di Github.

5. Pyramid

  • Github Star: 2.151
  • Github URL: https://github.com/Pylons/pyramid
  • Official Website: https://www.trypyramid.com
Selection_012

Web framework yang memiliki lambang piramida dan mumi firaun ini cukup digemari oleh pengguna bahasa pemrograman Python karena sederhana dan memiliki dokumentasi yang jelas. Saat ini Pyramid memiliki 220 kontributor dari seluruh dunia.

Pyramid merupakan bagian dari Pylon Project, sebuah web framework yang menggunakan Pyramid. Saat ini Pylons digunakan oleh banyak perusahaan seperti BitTorrent, Cars.Com, Digg, Dropbox, FreshBooks, dan lainnya.

Beberapa fitur Pyramid:

  • kompatibel dengan berbagai template engine seperti Jinja2, Chameleon, dan Mako
  • mempunyai sistem form yang handal
  • menggunakan SQL Alchemy untuk teknologi database.
  • memiliki bootstraper
  • function decorator
  • asset management
  • event dan subcriber

6. Tornado

  • Github Star: 12.515
  • Github URL: https://github.com/tornadoweb/tornado
  • Official Website: https://www.tornadoweb.com
Selection_014

Tornado adalah sebuah web framework dan asynchronous networking library yang aslinya dikembangkan oleh FriendFeed. Dengan menggunakan non-blocking network I/O, Tornado dapat melakukan skalasi hingga puluhan ribu koneksi yang terbuka, cocok untuk long pooling, websocket, dan aplikasi lain yang membutuhkan koneksi antar user yang tetap hidup.

Tornado memiliki beberapa modul utama seperti:

  • Web framework
  • HTTP Server dan Client
  • Asynchronous networking
  • Coroutines and concurrency
  • Utilities

7. Falcon

  • Github Star: 3.406
  • Github URL: https://github.com/falconry/falcon
  • Official Website: https://falconframework.org
Selection_015

Dengan tagline "The Minimalist Python WSGI Framework", Falcon siap menyuguhkan berbagai fitur yang dapat mempermudah kamu membangun sebuah RESTful API. Falcon adalah high performance web framework yang dapat digunakan untuk membangun HTTP API dan backend apps. Pengembangan Falcon dimonitor oleh Rackspace.

Falcon memiliki tiga tujuan utama yaitu harus cepat, ringan, dan fleksibel. Cepat dengan maksud menggunakan hardware yang lebih efisien, ringan karena memiliki penggunaan library yang hemat yang bergantung kepada standard library, dan fleksibel terhadap berbagai library lainnya termasuk runtime Python yang disukai.

Beberapa perusahaan yang menggunakan Falcon antara lain 7ideas, Cronitor, Hurricane Electric, OpenStack, Rackspace, Opera, KelasKita, Linkedin, Mesosphere, dan lainnya.

8. Flask

  • Github Star: 23.690
  • Github URL: https://github.com/pallets/flask
  • Official Website: https://flask.pocoo.org
Selection_016

Dengan lebih dari 363 kontributor, Flask menjadi web framework yang cukup besar dan terkenal di dunia Python. Flask adalah sebuah web framework yang pertama kali diprakarasi oleh Armin Ronacher dengan memanfaatkan werkzeug. Kemudian Flask berkembang hingga memiliki berbagai macam ekstensi yang siap guna.

Flask sendiri dapat dikatakan sebagai web framework yang fleksibel terhadap library apapun untuk Python. Selain itu dokumentasinya yang jelas membuat Flask sangat diminati oleh kawula muda.

Beberapa fitur Flask yang perlu kamu ketahui antara lain:

  • built-in development server dan debugger
  • terintegrasi dengan unit testing
  • RESTful
  • menggunakan template engine Jinja2
  • mendukung secure cookie
  • 100% mendukung WSGI 1.0
  • unicode based
  • dokumentasi yang baik
  • komunitas yang kuat

9. Django

  • Github Star: 22,323
  • Github URL: https://github.com/django/django
  • Official Website: https://www.djangoproject.com
Selection_017

Django, bukan sebuah judul film yang dimaksud tapi sebuah web framework yang digagas oleh Jacob Kaplan Moss dan Adrian Holovaty. Django menjadi salah satu web framework terbesar yang dimiliki Python baik dari segi komunitas maupun web framework itu sendiri. Django memiliki sebuah badan yang dinamakan dengan Django Software Foundation yang bertugas mengelola pendanaan untuk kelangsungan pengembangan Django.

Django memiliki tagline "The web framework for perfectionists with deadlines", bagaimana tidak, karena secara default Django sudah memiliki berbagai modul umum yang biasa digunakan ketika mengembangkan aplikasi web. Dengan Django saja, Anda sudah dapat menggunakan autentikasi sendiri, dan mendapatkan halaman admin sesuai dengan model yang kamu definisikan di dalam aplikasi!

Django memiliki sejumlah keunggulan seperti:

  • Dokumentasi yang sangat lengkap dan kamu tidak perlu banyak - banyak googling karena sudah disediakan contoh
  • Modul administrasi yang auto generate sesuai dengan model yang didefinisikan di dalam aplikasi. Lebih dari sekedar CRUD generator.
  • Sistem migrasi database otomatis yang tidak perlu kamu tulis script-nya. Cukup mengubah class dan struktur database pun berubah sesuai perubahan terakhir
  • Memiliki sistem form yang kokoh
  • Sudah built-in untuk sistem autentikasi dan roles bila Anda menggunakan relational database yang didukung Django seperti MySQL dan PostgreSQL
  • Memiliki ekstensi - ekstensi yang bisa membuat kamu lebih produktif seperti Django Rest Framework, Django Rest Auth, Django Celery, Django Mongoengine, GeoDjango, dan lainnya
  • Memiliki template engine sendiri yang lebih powerful
  • Kompatibilitas dengan berbagai modul dan library lain
  • dan lainnya
note: (github stars dilihat pada tanggal 27 November 2016)

(rfs/github)