カテゴリー
movabletype(mt)

MovableTypeが15周年なので色々と振り返ってみました

この記事を見て、久々にブログを書いてみようと思いました。

Movable Type、15周年になりました! #MT15th – 広報ブログ | シックス・アパート – CMSソフトウェア、サービスを提供

まずは15周年おめでとうございます!!

15年前何をしていたのだろう

15年・・・自分は15年前何をしていたのだろうと考えると、今33だから18!?
まだ専門学校生ってことは、プログラミングもできなければMTが生まれたことすら全然知らなかった。

そんなときからMovableTypeは生まれて、ここまで進化を続けてきたんですね。

最近ではCMSといえば・・・

最近ではCMSといえば『世界のWebサイト17.5%がWordPress』とか言われ、
フリーランスとしてホームページ制作のお手伝いなんかをしていても更新したいからWordPressで作ってくださいなどと言われることも多くなりました。

そんな中、僕はMovableType派です!!(このブログはWordPress練習用なのでWordPressでできてますが。。。)

ちなみに今フリーランスとしてやっておりますが、フリーランスとしてやっていけるのもMovableTypeと出会ったからと言っても嘘ではありません。
MovableTypeのカスタマイズ、サイト移行のお話がいただけるのはもちろん。
MovableTypeと出会わなければこんなにPerlを書くこともなく、今はRailsが熱いんでしょ?とか言ってたかもしれません(別にRailsをdisるわけではなくて)

Perlって言語が書けるおかげで仕事がもらえたりっていう副産物もやはりMovableTypeと出会ったおかげだと思ってます。

Perlとの出会いとそれから

フリーランスになるまでで書いたかもしれないですが、
最初はVB、そのあと独学でJava、PHPをちょっと書けるというスペックで会社へ入社しました。

そこへ来て突然のCMSプロダクトを保守、運用の指令。

そのプロダクトはMovableTypeをプラグインなどでカスタマイズして作成したもの。
当然MovableTypeの知識が必要になります。

MT?ミッション車の話?

というくらいの知識でCMSってなにそれ?というところから始まりました。

最初はひたすらソースを読む。読む。読む。

社内で作られているソース、ネットで検索して出てきたプラグインのソース

そもそもPerlは専門学校の時に同窓会用のホームページの管理を任され、
CGIってなんだろう?ってところでPerlの本と出会ったけど、
数分でノックアウト。(それ以来その本は開かずに、引越し時に捨ててしまった。)

一度挫折しているPerlだけど、読めば読むほど、書き方が人それぞれだったり、
後置のifなどが便利だったりして嫌いにならずにすんだ。

それでも最初はPerlの独特な書き方や記号に頭抱えてました。

MovableType自体も慣れてくると面白くて、
なんでもかんでもMTでプラグイン入れたらできるじゃんと言い、
同僚や先輩から「いや、別にMTにこだわらなくても・・・」とか言われる始末。

プラグインを作ったことがある人ならわかるかもしれませんが、
MovableTypeはただのCMSではなく、フレームワークとしてもものすごく便利に使えるし、
機能の拡張なんかもすごく簡単にできるのです。

もちろんCMSとしても素晴らしくて、
テンプレートも、HTML側とプラグラム側をしっかり分離できるから、書いていて気持ちがいいというか、
HTMLは別の人が書いてそれをテンプレート化するのもすごく楽にできる。

そんなこんなでMovableTypeの開発に面白さを感じて9年、
今はMovableType本体に少しコミットできるまでになりました。

そんなこと当時はまったく想像していなくて、
MovableType本体のソースを読みながらこんなすごいもの作る人たちはどんな人なのかと想像するのが精一杯。

そんなMovableTypeも今年で15周年

MovableTypeは今年で15周年。

MovableTypeが30周年になる時は自分は48か。もうすぐ50か。

家族を路頭に迷わせないように頑張らなきゃ。

カテゴリー
jQuery ニュース

jQuery 3.0 Final Released!

とうとう出ちゃいましたね。jQueryの次期バージョンである3.0が。

ついこないだまで1系か2系かなんて言っていた時代が懐かしいです。

そもそもjQueryの1系と2系って何が違ったんだっけ?

わからずに使っていた人も含めてもう一度おさらいです。

jQuery1系… IE8以下などレガシーなブラウザもサポートするバージョン
jQuery2系… IE9以上を対象としたバージョン

サポートする範囲が変わるだけ?と思う人もいると思いますが、サポートするバージョンが変わると、中身が大きく変わります。

特にIE(InternetExplorer)はIE8以下はWeb開発者や制作者を随分悩ませました。

ChromeやFirefoxとも違う独特の関数、動きなど、対応に追われることが多くありました。

そしてもちろんjQueryの本来の目的はというと、ブラウザ間の差異をなくすことにあるので、

当然ソースコードもサポートする範囲がレガシーによっていくほど、

ソースコードの量も増えたり、余計な判定を追加したりする必要がありました。

jQuery2系ではそういった無駄な判定やロジックを全て取り除き、より軽量化、安定高速な動作を求めて進化してきました。

jQuery3.0では何が変わるの?

jQuery3はレガシーなブラウザのサポートはしないから、サポートしたい人は1.12とか使ってねってかいてある?

翻訳すると、古いIEの回避策を全て削除しって書いてあるのはそういうことなんだろうなと。

まとめると、jQuery2系を引き継いで、もっとブラッシュアップ、高速に安定して動くようにしてあるよってことみたいです。

サポートするブラウザとバージョン

サポートするブラウザは下記のようです。

  • Internet Explorer: 9以上
  • Chrome: 最新バージョンとその一つ前のバージョン
  • Edge: 最新バージョンとその一つ前のバージョン
  • Firefox: 最新バージョンとその一つ前のバージョン
  • Safari: 最新バージョンとその一つ前のバージョン
  • Opera: 最新バージョン
  • Safari Mobile iOS: 7以上
  • Android: 4.0以上
  • Opera: 最新バージョン

こうやってみるとすごく多くのブラウザサポートしてますね。IE以外はほとんど最新バージョンとその一つ前のバージョンまでサポートされるようです。

それでは何個か変更点をあげてみます。

jQuery3.0での主な変更点

[Ajax]コールバックメソッド

Ajaxのコールバックのメソッドが今までは「complete」「success」「error」でしたが、今後は「always」「done」「fail」になります。

またpromiseなので「then」や「catch」も使えるようです。

[Ajax]クロスドメイン

クロスドメイン(つまり別ドメインへのAjax)は、かならずdataType: scriptを必ず指定するように変更になったそうです。

[Ajax]呼び出しでのハッシュの扱い

以前はajax()の呼び出し時にURLにハッシュがついていると、それを除去して送信していたみたいですが、ハッシュの除去をやめたそうです。

[Ajax].get()と.post()にパラメータ追加

settingパラメータが追加になり、ajax()の時と同じプロパティーが返ってくるそうです。


ここまで書くだけでも疲れていっぱいいっぱいだけど、jQueryのページにはまだまだたくさんの変更点が載っている。

何日かに分けて少しずつ書いてみます。

 

 

 

カテゴリー
Appple アプリ

「MyHint」ってアプリ作ってみたよ

「MyHint」というアプリを作りました

MyHint

MyHint

プログラマなのに、自分の作品がありません。

企業に入り込んではその企業の商品の開発手伝いということが多く、自分の作品を作る時間が無くなります。

でも、やはりプログラマなら自分の作品一つくらいほしい!

「はしれ!ガタンゴトン」というアプリを昔作ってみたものの、Youtubeを主とした動画コンテンツに広告を入れていたため、

グーグルの規約に違反しているとのことで削除されてしまいました。

経緯はこちらから → Androidアプリが規約違反で突然削除された

前回も子供に電車を見せる時に使えていたのでよかったのですが、

今回は自分が使いたいと思うものを作ってみようと計画し、「MyHint」というiOSアプリを作ってみました。

「MyHint」ってどんなアプリ?

世の中いろいろな悩みがあるものです。小さいものから大きなもの、

くだらないもの、大切なもの。人に相談できないもの、自分の中でモヤモヤしているだけのもの。

そんな時に一言だけでもいいから背中を押してくれたり、逆に止めてくれたり。

この「MyHint」はそんな時に使えるアプリです。

「MyHint」起動してボタンをタップすると、一言のヒントがもらえます。

もちろんあなたの心の中を読んだり、スマホの情報から悩みを予測して的確なアドバイスを。。。しているわけではないので、

信じるか信じないか、その通りにしてみるかしてみないかはあなた次第。

結局一言だれかに背中押してもらいたいんだよねって時や、誰かにやめとけって言われたいんだよねって時なんかに使うといいかもしれません。

回答のパターンは結構豊富にあるので、1日に何回かやってみても楽しいですよ。

「MyHint」にはどんな技術が使われている?

プログラマというか、スマホアプリ作っている人ならば気になっちゃいますよね。

バラしちゃいましょう。

ただjsonをとってきて、ランダムに表示しているだけです。

これだけ聞くと、なーんだ、超簡単じゃんって思いますよね。

私はxcode自体も初めて、swiftも勉強はしていたものの初めてに近いくらいの初心者。

最近のiOSアプリとかはwebアクセスするときには基本的にhttpsじゃないとダメみたい。

じゃーhttpsでつなげるサーバーを用意しよう!ってことで、このブログでも使っているサクラVPSのサーバーを、

centos7で再インストール。nginxやらphp7やらmysql5.7やらを入れて、証明書を取得して設定して、ついでだからhttp2で接続できるようにしたれ!とか色々やってましたら、

それだけで1日終わってしまった。。。

もちろんそれ以外の場所でも、例えばswiftという言語自体に苦しめられたところも多々あるし、ライブラリがObjectivCしかないもの使おうとして挫折したり、

いろいろなハードルに遭いながらもなんとかリリースまで行けました。

「MyHint」は審査でリジェクトされた?

実は「MyHint」は初回審査時に一度リジェクトされました!

広告が入っているかどうかを審査時に自己申告するのですが、もちろん入れました。ちょっとでもお小遣い稼げればと。当然入っていると自己申告して審査に臨みました。

その結果、「広告入っているって書いてあるけど、どこにでてくるの?」っていう質問が返ってきました。

あれ?おかしいなとか思いながらソースを眺めていると、広告を表示する部分がおかしくなっていて、

表示されない不具合が見つかり。。。慌てて修正して再審査してもらったところ、すぐにリリースとなりました。

この指摘がなければ広告が表示されないだけなので、アプリには全く問題はないのですが、審査してくれる人の優しさでしょうか。

appleのレビューがすごく早くなりました

Appleの審査を今回何度かしてもらったのですが、ものすごく早くなりました!!

今日はこれが言いたかったんじゃないかというくらい言いたい。

Appleのレビューものすごく早くなったよ!!

レビュー依頼して、本当に24時間以内に何かしらの動きがある。リリースまでのスケジュールがすごく早い。

できてから申請すれば1日以内にThe status for your app, `アプリ名`, is now Ready for Sale.ってメールがくる。

2週間とかかかっていたものが、24時間でおわります。

これはすごくいろんなものが変わるんじゃないかと思う。

例えばだけど、今までアプリのリリースは審査に時間かかるから、慎重にならざるをえなかった部分が、

もっと気軽にリリースできるんじゃないでしょうか。

もちろん不具合とかユーザが離れるようなやつはまずいけど。

やってみて、ユーザの反応見て、ダメなら元に戻すとかそういったことも可能になると思います。

今までもサーバに情報持たせてその設定を読みに行かせるとかすれば、簡単に動きを変えたりということはできたと思います。

ただ、サーバが別途必要になったり、上記のような仕組みを作ったりと苦労が多いのですが、

審査が早ければアプリ自体を更新したほうが早いはず。

今後の機能追加やリリースは?

とりあえずはAndroid版を作っているのでそれをリリースしようと思っております。

このブログを読んで、いっちょ評価してやるか!って人はぜひインストールしてみてください。

そして感想や機能に対してのご意見などいただけると嬉しいです。

iThunesストアにコメントしていただいてもいいですし、直接twitterでも構いません。@rmasco

せっかくリリースしたのだから、いろんな人に使ってもらえるのが一番嬉しいので、

コメントとかめんどいよって人はそっとインストールして、そっと評価してください。

こんなアプリあったらいいと思うんだけど作れない!?って人もTwitterなどでメッセージいただければ、

どこまでできるかわかりませんが、一緒に作りましょう。

というわけで、「MyHint」インストールしてみてください。

 

MyHint

MyHint