Buku teks pengantar yang ditulis oleh netizen koalant (Silakan masuk untuk mengunduh)
Memperkenalkan bahasa Ruby, instalasi Rails dan contoh sederhana. Sangat berguna untuk pemula. Sangat direkomendasikan!
Jika Anda terlibat dalam pengembangan j2ee sebagai programmer Java, Anda pasti akan menggunakan banyak kerangka aplikasi. Tidak ada bahasa yang seaktif komunitas bahasa Java, dan setiap konsep pemrograman baru akan segera memiliki implementasi open source yang sesuai di Internet. Sesuai dengan model pengembangan situs web MVC yang paling umum digunakan, setiap lapisan akan memiliki banyak kerangka kerja. Struts dan Tapestry milik lapisan pengontrol (C), dan kerangka Kecepatan milik lapisan tampilan (V). bisa berupa Hibernate, iBatis, OJB, atau salah satu dari banyak implementasi open source JDO, seperti JPOX. Namun memiliki terlalu banyak pilihan belum tentu merupakan hal yang baik, dan tidak semua orang dapat menerapkan kerangka kerja yang tepat untuk melakukan hal yang benar. Jika platform pengembangan Anda adalah .net, maka Anda dapat menghindari situasi ini. Biasanya Anda hanya perlu menginstal Visual Studio .net sebagai alat pengembangan, lalu menginstal MSDN untuk mencari informasi. Bagi pengembang program, ini adalah situasi yang sangat sulit. Saya pribadi sangat menyukai Java, baik itu pembelajaran maupun praktik, Java memberikan banyak manfaat bagi kami. Namun mengapa menurut saya solusi "satu atap" seperti .net sering kali benar?
Sebagai seorang pemrogram Java, menurut saya beberapa masalah yang paling jelas terlihat dengan Java adalah, pertama, Java terlalu rumit, dan kedua, Java terlalu berorientasi pada pemrogram, bukan berorientasi pada pengguna. Dibandingkan dengan C++, Java sudah sangat sederhana. Fakta bahwa ada begitu banyak programmer Java saat ini menggambarkan hal ini. Namun seperti yang pernah dikatakan seseorang, "Di Linux, Anda dapat dengan mudah mengetahui siapa masternya", tetapi hal ini tidak mudah dilakukan di bidang Java. Saya sering menemukan bahwa rekan-rekan saya di sekitar saya masih membuat kesalahan konseptual tingkat rendah. Mereka masih dapat terlibat dalam pengembangan j2ee selama bertahun-tahun meskipun mereka tidak dapat secara akurat membedakan apa itu antarmuka, kelas abstrak, dan Servlet. Namun mengapa Java dikatakan rumit? Karena memerlukan terlalu banyak teknologi berbeda untuk menyelesaikan satu hal. Jadi bagi programmer yang tidak memiliki konsep yang jelas, bagaimana Anda bisa memastikan bahwa mereka membuat pilihan yang tepat? Dan berapa banyak dari sekian banyak kerangka kerja yang menyediakan layanan “satu atap”? Framework Spring yang muncul baru-baru ini memberikan layanan terbanyak di antara banyak framework, namun memiliki masalah baru yaitu masih terlalu berorientasi pada programmer, bukan pengguna. Mengapa Anda mengatakan itu? Kerangka kerja pada awalnya dirancang untuk pemrogram, bukan? Meskipun Spring menyediakan banyak pilihan (tetapi tidak cukup, Spring tidak memiliki ORM itu sendiri), Spring tidak menyediakan cara sederhana untuk menggunakannya, jadi kami hanya dapat mengatakan bahwa ini untuk programmer. Sebagian besar kerangka kerja Java memiliki masalah ini, yaitu kurva pembelajarannya relatif tinggi. Menurut saya tingkat kurva pembelajaran adalah kunci untuk membedakan apakah suatu kerangka kerja ditujukan untuk pemrogram atau pengguna. Faktanya, pengguna utama kerangka kerja ini adalah pemrogram. Alasan mengapa kami menggunakan "pengguna" dan "pemrogram" untuk membedakannya adalah karena beberapa kerangka kerja untuk "pemrogram" sulit digunakan meskipun mereka menyediakan infrastruktur dan komponen dalam jumlah besar. mereka masih membutuhkan Programmer untuk merakitnya sendiri. Kerangka kerja berorientasi "pengguna" lebih sederhana. Pengguna hanya perlu mengikuti instruksi untuk menggunakannya. Mengapa Ruby on Rails akan menimbulkan sensasi di komunitas Java, menurut saya alasannya adalah karena ia menyediakan kerangka kerja "satu atap" yang berorientasi pengguna, sederhana dan mudah digunakan, yang tidak dimiliki kerangka Java. Mengapa Ruby on Rails bisa melakukan ini? Mungkinkah Java sendiri tidak bisa melakukan ini? Faktanya adalah banyak perancang kerangka kerja Java tidak melakukan hal ini. Mungkin pemikiran mereka terbatas pada bagaimana menggunakan pola untuk merancang kerangka kerja yang baik, dan mereka belum berbuat lebih banyak tentang kemudahan penggunaan kerangka kerja tersebut. Siapa pun yang pernah menggunakan Spring tahu bahwa file konfigurasi xmlnya akan diperluas secara bertahap, meskipun kami dapat dengan mudah memecahnya menjadi file konfigurasi yang lebih kecil untuk mengatasi masalah ini. Namun dalam menggunakan file konfigurasi xml, mengikuti konsep umum pemrograman Java: "Java adalah bahasa pemrograman terbaik, XML adalah bahasa terbaik untuk mendeskripsikan data, dan kombinasi keduanya adalah yang paling sempurna. Jika suatu aplikasi tidak Gunakan xml untuk menggambarkannya, maka itu bukan aplikasi Java yang bagus."
Namun, pada titik inilah Ruby on Raiils dibedakan dari banyak kerangka kerja Java dan mencapai terobosan dalam kemudahan penggunaan kerangka kerja tersebut. Ide ini mengalir melalui seluruh desain Rails: konvensi atas konfigurasi. Misalnya, ketika kita menulis aplikasi web Java, kita biasanya membedakan kelas-kelas yang sesuai menurut MVC. Saya pribadi suka meletakkan kelas Controller di direktori web, kelas View di direktori view, dan kelas model di direktori domain tengah . Tetapi orang yang berbeda memiliki pengaturan dan nama yang berbeda. Bagaimana cara agar kerangka kerja mengetahui direktori yang berbeda ini? Satu-satunya solusi untuk kerangka java adalah dengan memberi tahu informasi ini melalui file konfigurasi xml. Solusi Rails adalah: Saya mendefinisikan struktur direktori, dan Anda hanya perlu meletakkan sesuatu di direktori yang saya tentukan. Ini adalah alasan penting mengapa hanya ada sedikit file konfigurasi di Rails (tetapi tidak semuanya). Meskipun idenya sangat sederhana, manfaat yang dibawanya adalah efisiensi pengembangan Rails 10 kali lipat dari pengembangan Java (hal ini diklaim oleh penggemar Rails, tapi saya yakin ini, dan saya yakin Anda juga akan mengetahuinya setelah membaca artikel ini ) . Jadi apakah ini saja membuat pengembangan Rails lebih cepat dibandingkan menggunakan Java? Tidak sepenuhnya, karena ini juga mendapat manfaat dari filosofi desain rel lainnya: lebih sedikit kode. Tidak semua bahasa dapat mengklaim hal itu. Rails mencapai hal ini sepenuhnya berkat bahasa desainnya, Ruby. Dengan Ruby Anda memang bisa menulis banyak fungsi dalam sejumlah kecil bahasa yang tidak mungkin dilakukan dengan bahasa lain. Untuk menguasai Rails, Anda harus memahami Ruby. Seseorang pernah berkata: Zope (kerangka web python yang terkenal) adalah aplikasi pembunuh python, dan python adalah senjata rahasia zope. Menurut saya kalimat ini paling tepat untuk menggambarkan hubungan antara rails dan ruby.
Memperluas