WordPressのカスタムデザインを作成してて思ったこと
今日は技術よりな記事になります。
エンジニアなのだからもう少しアウトプットをしろという話ですが。。最近はこれくらいしかネタがないので許してください。
本題
私は大学院の間に研究と並行してフリーランスとして働いていました。使っていたサービスはクラウドワークスです。
そこでの実績が功を奏して、クラウドワークス経由ではなく、個人的な契約の元仕事を貰うことができました。
利用技術は表題にある通りwordpress です。
私はお仕事の話を貰って初めてwordpressを触りました。それまでは脆弱性とかPHPでいいやんw(ちなみに私はPHPerです。Rubyも好きですが)とか思ってました。
ですが、実際に触ってみると、よくここまで作りこまれているなと驚くものでした。ブロガーが使いたがるのもわかります。
特にカスタムテーマ機能とプラグインが充実してていいですね。面倒なSEO対策もプラグインにぶん投げられる...笑
しかし、案件でカスタムテーマを自作していくうちに、非エンジニアが使うにはとてもいいサービスですがエンジニアが使うには少し使いづらい印象を持ちました。
理由を含めて紹介していきたいと思います。あくまで個人的な感想です。
jQueryの依存が強い
昨今の技術動向では脱jQueryが浸透し、代わりとなるフレームワークも多く登場しました。私はVue.jsをよく使います。
しかし、wordpressは標準でjQueryが搭載されており、多くのライブラリがjQueryに依存しています。
従って、例えばVue.jsを導入するとなると、jQueryとVue.jsが混在するというカオスな空間になってしまします。
非常によろしくないですね。エンジニアはせっかく脱したjQueryで再び作業するか、プラグインを含めて全てを自作するかの二択に迫られます。最悪です。私は考え抜いた結果前者を選択しました。
カスタムテーマのソースコードが読みづらい
案件の中には既に稼働しているものを改修するというものがあるかと思います。私もそれに該当し、改修対象がwordpressのカスタムテーマにかなり依存していました。
幸いにもwordpressには子テーマと呼ばれる継承機能が備わっていますのでデザインを変更する程度であれば特に苦労しません。
しかし、機能も変更するとなると状況が一変します。
依存が強いので下手に機能を付け替えると動作しませんし、かといってカスタムテーマのソースコードをみるとこれまたオブジェクト指向で書かれたプログラムとは思えない程散らかったスパゲティコードを見せつけられます。。
辛いです。
PHPはオブジェクト指向言語ですよ。。。
主にこの二つが私を苦しめる主な要因となっています。報酬が割と高めなので、工数的にはまだ問題がないのが唯一の救い。
終わりに
これからフリーランスで働くエンジニアの皆さん、一口に改修といってもとんでもない闇を垣間見ることがあるのでしっかりクライアントと打ち合わせをしましょう!
ではまた次回