旧gaaamiiのブログ

間違ったことを書いている時があります。コメントやTwitter、ブコメなどでご指摘ください

Webサービス作るの難しすぎるよう...

こちらの記事。盛り上がってますね。

正直、「背伸びのしすぎ」としか言い様がない。要らない知識を取得するために必要な知識を修得するための時間を捨てているようにしか思えない。GETとPOSTの違いもわからない人が、ルーティングやらフォームの自動生成やら使えるわけがない。

こういうのってけっこう頻繁に盛り上がるようなものなのか、2008年にも、モバツイの開発者えふしんさんがはじめてWebプログラミングをするなら PHP? Ruby?という記事で似たようなことを書いてます。

Ruby on Railsが10分でWebアプリができた!的な話はあまり好きではない。フレームワークは、まだ行間を読めない初心者が簡単にWebアプリを作るためのものではない。

どちらも、初心者が基本的な技術そっちのけでブラックボックスだらけの開発環境を使うことを嘆いてる感じかと思います。

「背伸びをしてる」素人の自分の印象としては、"Webサービス"って基本的にめんどくさいもんなんだな、って感じです。もう嫌になっちゃいます。上の記事を読んで突発的に書きたくなったので、最近のことを書いてみます。

ウェブサイト作れた、うはあ

ウェブサイトって、HTMLとCSSをちょろっとだけ勉強して、レンタルサーバーの借り方、ドメインの取り方がわかれば、月500円とかで公開ができます。さらにJavaScript(jQuery)を絡めたりAPIを使ってみたりすれば、なんとなくWebサービスっぽいものが作れます。

(昨年話題になった、「作ってみた」系の記事の一つ。GoogleFeedAPIを使用したはてブ閲覧サイト)

上のような記事を見て、自分も似たようなことをしました。とても楽しかったです。当然のごとく、ドットインストールにもお世話になりまくりました。

ウェブサービスなんてつくれない、もう嫌だ

けど、”Webサービス”となると一気にハードルが上がるような気がします(「Rubyってなんかイケてる」っていう感覚でRubyに手を出してるのが原因なのかな、でもPHP使ったとしても出来る気がしない)。

だって、それまでは
htmlを書く -> レンタルサーバーに置く
っていう手順だけだったのが、今度は急にローカル環境・サーバー環境の構築から始まります。まずRubyをインストールするにはrvmだかMacPortsだかが必要だと言われ、gemのインストールやらデータベースやらどのフレームワークがどういうものでMVCがどうだ、O/Rマッパーがこうだ、ホスティングにはさくらのVPSだ、Herokuがなんだとかgitでプッシュだデプロイだなんだ、この野郎。常時、「日本語でおk」状態。気持ち悪い時間が過ぎていきます。

Unixコマンドすらろくに扱えない素人的には、「ドットインストールみてRailsの環境整えて(これも十分キツい)scaffoldすれば何かしらできるよ」と言われたらもうそうしますよ。ほんでscaffoldしてから「おれなにしてるんだろう」ってまた振り出しに戻るんですよ。この時間はなんだったんだ。いや、おれの頭が悪いのか、って。

じゃあ分かったよ基礎から学ぶよ、ってことでWebを支える技術とかを読んでみて、たしかにGETとPOSTがどうだ、RESTとは、みたいのはちらっとわかりました。でも、「じゃあ作ろう」とはならない。むしろ、「もう無理だな」って感覚になりました。

ユーザー管理をするようなちゃんとしたWebサービスって、先のはてブ閲覧サイトみたいなものとは全然違うんだな、というのがわかったからです。クライアント(ブラウザ)に処理をまかせて、データはAPIから引っ張るだけのハリボテサイトとは全然やってることが違う。ウェブエンジニアってすごいんだなあ...。

Sinatraで無理だったらもう無理

でも、実現できそうなアイデアはあるし教えてくれる人もいるので、それをRubySinatraでできるかどうかだけ挑戦しようと思っています。Sinatraが小規模ウェブアプリに適してると聞くので、それで無理だったら諦めます。

情けないことばっか書いといてあれですけど、今はとりあえず作りながら学ぶRuby入門 第2版を進めていきます。

追記

ブコメ、エントリ、TwitterFacebookでの言及ありがとうございます。多方面から実用的な助言を頂いて嬉しいです。「あ、あのサービスの!」というようなサービスの開発者の方にもコメント頂けたりして、かなり良い意味で鳥肌ものでした。

最初は僕みたいなうんこ野郎に...って思って恐縮してましたが、ブクマをしばらく眺めていると自分のような状況の(「ウェブサービスなんて作れない、もう嫌だ」ってなってる)人は多く、そういう共感の声に向けてコメントを書いて下さったようにも思えます。

そういう方が今後検索などからこの記事を訪れることも考えて、個人的にこれはありがてえ、と感じた有用なコメントや共感の声、あとは過去にさかのぼって関連のあるエントリなどもまとめておきます。

記事を書いたきっかけ。上の記事では技術がわかる人目線で問題が書かれていますが、それを僕、つまり素人側の目線で書いたのが今回の記事でした。

  • プログラミングできなかった僕はどうして一人でWEBサービスを立ち上げるに至ったのか

(現在は公開されてないようです)

独学でRailsを学んでサービスをリリースされた優秀なエンジニアさんが今回のエントリに反応して書いて下さった記事です。ポジティブなメッセージが多めなので、僕の今回の記事を読んで(技術周りのもやもや感とかに)共感した方にはとても励みになると思います。

今回の問題に関して、とってもしっかりちゃんと詳細に書かれている記事です。若干、Railsを扱う苦労が詳しく書かれすぎてて吐き気を催します。やっぱりこういう苦労が必要なんだなっていうのと、一つサービスをリリースした後の爽快感みたいなものも感じることができます。サービス作れたらもう一度読んで、ふふっと笑いたいです(そんな日がくるのか)。

※飽きてきたのでブコメの引用とかは後ほど更新します。 -> めんどくさいのでやめときます。

追記(2013/8/18)

エントリにも書いた通り、使うものはRubySinatraを選択しました。
で、最初に作っていたものができたので公開しています。

hatebu3.com

「Web制作者のためのシンプルなはてブリーダー」というコンセプトです。詳細は別エントリに書きました。RubyとSinatraではじめの一歩ということで「3つのはてブ」を公開しています

現在は公開していません。

追記(2013/10/8)

夏に制作していたサイトができたのでこちらにも書いておきます。海外記事の要約が投稿できる『Toja(トゥージャ)』というサイトです。

Twitterアカウントだけで登録できます。メールアドレスとか住所とかそういうのは一切いりません。
» 海外ニュースの要約・翻訳が投稿できるサイト - Toja(トゥージャ)
現在は公開していません。

追記(2014/11/1)

後日、こういったエントリも書きました。ウェブアプリケーションを作る際の技術について、とてもざっくりと書いたものです。これから作り始めるぞ―という人向けに書いたものなので参考になるかもしれません。