Laravel4、たまにある質問

タグ: Laravel  

たまに投げられる質問です。

ドキュメントに全てが書かれていない

  • Taylorさんの考えでは、ドキュメントに全部を入れる必要はない。そのためにAPIが用意されている。また、学習するために、ソースコードを読むことを奨めている。(全てを入れると結局APIになり、konahaみたいになる。ドキュメントは盛りだくさん過ぎても、一般的には読んでもらえない。)
  • オープンソースだから、必要ならば、必要だと思った人が書いて、プル・リクエストすれば良い。(英語)ドキュメントへのプル・リクエストはたいてい採用してもらえる。
  • ドキュメントに足りなくてわからない部分があっても、フォーラムやら、チャットやらで質問すれば、すぐに答えは出る。Web上にはヒントになるブログなども溢れている。こうしたもの全てが、コミュニティー。(日本でもFacebookにG+にある。Twitterで投げれば、おせっかいなこの人やあの人が答えてくれる。)(フォーラムはほとんどが教えて君だらけ。ドキュメント読めと言いたくなる。)
  • 私個人の考えでは、ビギナー向けと全部入りのドキュメントがほしいが、それではメンテが大変だろう。無料で公開しているものなので、そこまで手間を掛ける必要は無いとも思う。個人が開発しているオープンソースにそこまで求めるのは酷というもの。
  • 英語で書かれるLaravelに対する意見では、Laravelだけを取り上げ「よくドキュメントされている」と褒めている情報は少ない。逆に、「まったくだめ」とけなしているものは、見かけない。他の「良く」ドキュメントされていると言われる、CodeIgnigerやCakePHPと同列に「よくドキュメントされている」と扱われることが多い。ここから推定するに、現状くらいが、大勢のユーザーにとって「調度良い」と考えられるボリュームなのだろう。
  • 記述が足りないと言われる部分はある。例外処理では明記されているが、ルートの優先度は書かれていない。しかし、こうした部分は「遊んでみる」、つまり簡単にテストコードを書いて、2〜3分で答えが出る。(こうした部分を試すために、事前にフレームワークで遊んでみればよい。新しい知識を得るためには、先ず使ってみることだ。コンピューター上で動かすのはコストが高いため、ドキュメントを先ず読めとは、大昔の習慣だ。目の前のコンピューター、仮想化されたサーバー、レンタルサーバーなどなど、お手軽に試せる時代になったのに、なぜ試してみない?なぜ、お遊び用の環境を作成しない?AWSは一年間無料だ。DigitalOceanも頻繁に10ドル無料のクーポンを出している。たまに立ち上げるお遊び環境としてなら、最低限のスペックでも十分使える。)

なぜ、Leanpubの本ばかり翻訳するのか

  • 他のアメリカ/カナダのオンライン出版社は、システム的に日本語に対応していない。
  • 当然ながら、出版社をまたいだり、国を超えての出版を行うなら、厳密な契約が必要になる。数十冊しか売れない本に、そこまでやる必要はない。
  • 他の人が翻訳してくれるのであれば、止めはしないが、本当に儲からない。
  • 儲からないから、プロはやらない。電子出版では自慢にならないので、技術者もやらない。
  • Leanpubは初めから翻訳システムを用意していたし、交渉すればどこの言語の対応もやってくれる。(後発のスタートアップのため。)
  • 他の電子出版より、歩合が良い。更に、他の出版社は出版後、すぐにセール価格になる。(苦労して書いたり、翻訳したりして、市場が小さいため部数が出ないのに、すぐに値下げされたら、身も蓋もない。)

EloquentがLaravel本で取り上げられない理由

  • 本を書いている人たちが、採用していないからではない。実際、他のフレームワークにEloquentだけを付け加えて開発している人もいる。
  • そもそも、ある程度レベルの高い人であれば、ドキュメントとコードを読んで開発できるため、Laravel本は読まない。
  • 現在、Laravel独自の内容より、プログラムパターンや構造やテストよりの書籍が多いのは、Laravelを使い始めたときは初心者でも、より複雑でプロフェッショナルなアプリを目指してスキルアップしようとする利用者が多いため。その手の質問や議論もフォーラムでは見かける。
  • 初心者向けの書籍では、DayleさんがCode XXXXシリーズを出し、抜群なシェアを持っているので、割り込むのが困難。
  • こうした状況で、書籍を出すとすると、必然的に中級者向けとなる。Eloquentを学習初段ではなく、ある程度習熟した人向けに解説すると、それ自体で一冊の書籍になるくらいのボリュームになる。しかも、手を動かし自主学習すれば、すぐに理解できるので、わざわざ苦労して書こうとしない。
  • 手間がある程度かかる割には、売れるかは未知数。
  • Eloquentはファサードではないため、テストに一手間必要。これはアイデアが別れる部分であるから、議論を避けたい心理も働いているかもしれない。