ラベル Flex の投稿を表示しています。 すべての投稿を表示
ラベル Flex の投稿を表示しています。 すべての投稿を表示

2010年1月31日日曜日

僕歪新年号 2010~ワーク その2 UIだけでもリッチで行きたい

新年号その2。本業のプログラミングに関する目標を掲げる。

いい加減にRIAスキルを身に付けないと

今後はバックエンドのクラウド化が加速していくだろうから、フロントエンドで差別化を図らないといけないと思う。そうなると、RIAの利用は必須。只のHTML+Javascirptでは、確実に段ボールハウス行きであろう。

しかしうちの会社、その1でも述べた通りRIAを扱った経験が全く無い。親会社の基幹システムはColdFusion 8を使っており、何ヶ月か前から再構築の話が持ち上がっていたので、そのシステム担当している同僚にFlex紹介して「Flex採用された暁には俺呼んで!」と言っておいたが、結局ERPパッケージ使う事に決定したらしい。個人的にも会社的にも残念…

ちなみに、今年年頭の挨拶で聞いた会社方針では、クラウド(Google App Engine)及びAndroidに力を入れていくとの事。ITニュースをコピペしたような内容で、具体的にどうするか、例えばクラウドなら提供する側なのか利用する側なのか、と言った事が全く見えず、行く末に不安を感じた。話が長くなるから簡単にしたのであって、具体策はこれから追々伝えていくという事であって欲しいと願うばかり。

ところで、昨年にはWindows Server 2008によるActive Directoryを導入する等、基本的にマイクロソフト文化なのに、クラウドはAzureじゃないのかよ。ちなみにGAEを選択した理由は「Javaが使える」との事らしいが。全く、相変わらず目標に一貫性がない。Azureなら、既存の.NETアプリはそのまま流用できるよな、確か。やっぱり費用の問題だな。Azureだと、Visual Studioとかのライセンス費用が発生するのがキツいのだろう、きっと。
いや、思い返してみると、マイクロソフト文化と言っても、そう言えば殆どVB6以前だった…

ちなみにここ数年力を入れていた事業は、長らくそして現在私が担当しているマイナーな商用Javaフレームワークであった。力を入れると言っておきながら、使えるレベルに達している技術者は私を含めて3人。10人作るという目標を達成せぬまま、計画終了。結局、元々信念や志があって始めたのではなく、最重要顧客がそれを使うと言い出してそれに迎合しただけだったので、こんなものだろう。

それ以前に、先ず『分割』スキルだろ

うちの会社、『分割』スキルが弱い。『MVC分割』とか『クラス分割』とか『メソッド分割』とか。一例を挙げると、JSPにロジック埋め込みまくったり、基本1画面1クラス(VB6の感覚)で作るので数千~数万行にメタボ化し、他は以前も愚痴ったように数千行のメソッド、数百行のifブロックetc…
以前、ある勉強会に参加した際、Flex開発で有名な某ベンダの方と懇親会でお話ししたのだが、「会社が中々RIA開発に移行しない」と嘆いた所「Java扱っているなら、Flexへの移行は別に難しくないですよ」とお話ししてくれた。いや、うちの会社の場合は、非常に難しいのですよ…前述の通り、JSPにロジック書いちゃったりしてるもんだから、フロントだけFlexに交換と言うことすら厳しい。そして、うちの会社の感覚では、JavaとAction Script 3.0は完全なる別言語扱いなのです。

もう一つ、適切に分割されていないと言うことは、バックエンドだけクラウドに交換する事も難しい事を意味する。私が携わっているフレームワークは、MVCなんて概念が無い(ロジックもORマッピング情報もView部品に埋め込まれているetc)。
うーむ、出航前から座礁してないか?


プロジェクトの進め方を(少しだけ)変える事は何とかできたが、まだまだ課題は満載だ。
個人的なことであれば、少しでも前進しているので慌てないでコツコツ行こうぜという姿勢でもいいが、ビジネスではそうは言ってられない。果たして生き延びることができるのだろうか?

2009年10月10日土曜日

犬猿雉も、きびだんごをあげたから付き合ってくれた訳で・・・(前)

前回エントリで書きかけた所で眠くなってきたので、後で書こうと一旦筆休めのつもりが既に1週間経過。というのも、これまた前回エントリで触れましたが、現在のプロジェクトが曲者でして、平日は書く暇が無かったもので・・・。という事で1週間以上前の話で全然タイムリーじゃないですが、最近勉強会行ってきました。FlexユーザーグループのFlex勉強会と、第1回ExpressionTech.jp勉強会です。どちらも凹んで帰ることになったのですが・・・

9/29(火) Flex勉強会第85回@東京

一つめのセッションは、「SDK for FeliCa」の紹介。えーと、「ふーん」としか言いようがありませんでした(すいません・・・)。というのも、僕の会社、組込・モバイル開発しておらず、Flex案件自体皆無なもんで・・・。まぁこれからはどうなるか分かりませんが。これ利用してどんなサービス作れるだろうかと考えてみたが、何にも思いつきませんでした。モバイル開発経験ゼロ&お財布携帯を使ったことが無いからだと思いたい・・・。

次は、某ERPベンダの「メタデータ中心開発」活動の紹介。データベース定義からFlexのソースコードを自動生成するツールを独自に開発し(AIR製)、それ使ってこんな感じで開発してますよ〜といったものでした。やっぱり、単純作業の自動化というのは必ず行き着く所ですね。このセッション聞いてて、僕の会社の手工業的な仕事の進め方が本当に嘆かわしく思われた。

例えば、ちょっと前にこんな事がありました。僕の会社では今まで、開発者の技術スキル情報をデータベース化していませんでした。なので、プロジェクトにアサインする人間を集める際、例えば「Javaフレームワーク○○の経験者」とか「ASP.NETの上級者」を探す場合、情報源は『口コミ』なんですよ(苦笑)。本当に呆れてしまいます。一応、これではあまりにも非効率で情報の正確性に欠けるので、データベース化しようという声は大分前から挙がっていたらしいのですが、中小のくせに大企業張りの腰の重さで中々実行に移されず。今年やっと重い腰を上げ、データベース化する事になりました。

そんなこんなで入れ物となるシステムを作り、次に全開発者から技術スキル情報を収集する為に、Excel形式の収集用ファイルが送られました。しかしこのファイル、体裁はある程度凝っておきながら、セルの入力規則とか、値をリストから選ばせるような工夫が全くされてなく、非常に入力が面倒。さらに、入力したデータをCSV形式等にエクスポートする機能も無し(ていうか、マクロ何にも使ってない)。なんで、システムへの登録は手作業で転記ですよ。恐らく今年の新入社員にやらせたんでしょうけど、不景気でなかったら、こんな事させてたら辞めてしまうぞ!ちなみに後日、こちらが提出したデータと、システムに登録したデータに誤りが無いか確認してくれと、システムが出力したファイルが送られてきました。「入力内容の確認は入力時に入力者が行ってくれよ!」「自動化してればこんな作業不要なのに・・・」と思いながら確認してみると、何と4割くらい間違ってる!バージョン間違いが特に多かった。



えー話を元に戻します。某ERPベンダが独自に作成したソースコード生成ツール。そのツールには、掲示板機能も搭載されていました。開発時の情報共有・意見交換の場として使っているのでしょう。いやホント、それらは大切ですよね。僕の会社、その文化も弱いです。情報共有に関しては、共有フォルダにExcelファイル置くだけ。共有対象は、コーディング規約等の必要事項に限定。技術ノウハウに関しては、質問&回答の遣り取りは口頭orメールベース。それらの情報の共有はおろか、個人的に文書化・蓄積する事すら殆ど行われなていない。なので、同じ質問を複数人からor何度も受けるという状況が発生するのは必至です。基本的に、納品物に含まれない物の作成や、ウォーターフォール開発に未定義の工程(ふりかえり等)はしたがらない文化なんですよ。は〜・・・

ちなみに、過去エントリ、そして当エントリと、愚痴ってばかりで周りの所為にして何にもしてないみたいですが、一応カイゼン活動行っています。直近で行った事は、Wikiサーバー構築の提案ですね。以前のエントリでも述べましたが、次にアサインされるプロジェクトでは、ちょっとマイナーなフレームワーク使用しているのですが、僕以外のメンバー5人は漏れなく未経験or低経験値。今年頭に、同じフレームワークを使用した、製造担当が一人のある小さなプロジェクトでは、製造担当は同じく未経験者だったのですが、その一人のフォローだけで一月当たり数十時間にも及びました。これ鑑みると、次のプロジェクトは単純計算×5ですから、このままのやり方では間違いなく、僕の作業時間ありません。そういう兆候もあるので、これを機会にWikiサーバーを構築して、技術ノウハウを共有・公開していきましょうと提案しましたよ。Excelより優れている点等ももちろん添えて。結果はNGでしたが・・・。「使い方を覚えるという手間を掛けてまで、Wiki化する必要性を感じない」とか言われたら、もうどうしようもないです・・・。使い方なんて、最初だけじゃん・・・。昔からのやり方・意識を変えさせるのは、本当に難しい。




また大脱線しました。とにかく、勉強会中そんな事思い出して嘆いて勝手に凹んでました。結局、Flexに興味はあるものの、Flex Builderの試用期限が切れて以来碌に触れていない身では、何も語れるものが無いです。そう言う理由もあり、懇親会は逃亡。もう80回以上も行われている勉強会なので、猛者だらけのような気もしましたし・・・。実際、MacBook持ち込んでマインドマップでメモ取ったり、Twitterでリアルタイムにつぶやいてたりといった、何か格が違う感じの方々がちらほら。プログラマになって4年目、いろんな現場でいろんな方々に会いましたが、あんな大人見た事ありません。ならば尚更出席して接触してみるべきなんでしょうけど・・・やっぱり僕なんかの相手に時間取らせるのは申し訳無いです・・・



第1回ExpressionTech.jp勉強会に関しては後半でお送りします。
まあ、当エントリと同じような締めですが・・・

2009年9月19日土曜日

我が社における、Flex VS Silverlight の行方

今週はFlexの勉強会行ってきました。勉強会という名目のものは初体験。
@IT勉強会「FlexとJava研究会」

僕がFlexに興味を持ったきっかけですが、原点は「Flash職人への憧れ」。お洒落で格好いいなぁ~という単純なものです。そんな中、何かのIT系雑誌で紹介されていた「UIにFlashを採用したFX取引システム」の記事を読んで、「Flashが使えるプログラマ」というのもアリだなと思い、学割が使える間に「Flash 8」を購入しました(確かその頃AdobeがMacromediaを買収)。で、結構やる気あったんですけど、Visual Basicというぬるま湯に浸っていた身にはやや取っ付き難く、また社会人の忙しさを甘く見ていたこともあり勉強する時間を十分に確保できず(他にもやりたい事は一杯あるし)。仕事で使う機会があれば良かったんだけど、Flash使うようなコンシューマー向けの案件はそもそも皆無。他にはお絵かき能力の低さとかもあり、結局フェードアウト。嗚呼、宝の持ち腐れ・・・

そんな僕の前に「Flex Builder」なる物が現れたら、そりゃ食いつかない訳が無い。ファーストコンタクトは2年前くらいだろうか、体験版をダウンロードし(当時はバージョン2)、同梱されてたサンプル(確か「携帯電話販売サイト」「フォトビューワ」..etc)を動かして、その美しさに感動したのを覚えています。これを生業にしたいと本気で思った。が、社会人経験を積んで多少は仕事の現実を知った立場として、やっぱり開発事例や情報がそんなに無い技術に投資するのはリスクが高いな~なんて思ったもので、深入りはしませんでした。でも動向はちゃんと追って、上司には定期的に提言することくらいはやって行こうと。

ColdFusionみたいに開発用無償版があれば、個人的に勉強・研究してたと思うんですけどね。SDKだけで頑張れって話ですが、とにかくIDEというぬるま湯に浸っていたもので・・・。そう言う訳で僕のFlex経験は、Flex Builderの体験版が使えた計60日程度です(当然、毎日触れていた訳では無いので、さらに短い)。

そしてファーストコンタクトから約2年、時代はRIA化の流れへ。Flexの開発事例や情報は大分増えたし、開発ノウハウはAIRに流用できるので、そろそろ本気で取り組もうかなと。その一環として、当勉強会に参加した次第です。Flexのキャリアは上記の通り殆ど無いので、実装レベルの技術的な話にはついていけないだろうけど、同じ興味・志を持つ方々との人脈が築けたら良いなと。

以下、レポートというか感想です。



やっぱり出た、VS Silverlight に関する質問。この手の記事は何度か読んだ事があったので、まぁ予想通りの回答でした。ただ、一点だけ目から鱗というか、盲点だったので成る程な~と思った回答がありました。Adobeのデザインツールとの連携のし易さという点(つまり、デザイナさんとの連携)。Webサイトの80%だか90%はDreamweaverで作成されているという話なので、これは大きなアドバンテージでしょうね。

他には、ASコードとJavaコードのデバッグ連携。Flex Builderはeclipseプラグイン版を選択した方がいいのかなと思いました。ていうか、そもそもスタンドアロン版のFlex Builderとeclipseのデバッグ連携できるのか?くそ、質問タイムではそこまで考えが及ばなかった・・・

質問しておきたかった事はもう一点。話が戻りますが、Silverlightに対する優位性として、Flash Playerが既に98%のPCにインストール済みということに関して。その98%という数字は、果たしてバージョン8以下を除外したものなのか。Flexの言語である「Action Script 3」は、Flash Player 9以上でないと動作しない。ブラウザにおいては、IE6のシェアが未だに20%を超えているという現実もあるし(リンク先記事はちと古いですが・・・)。
もしバージョン8以下も含めた数字であれば、僕が質問(というよりお願い)した「Flash Playerの自動更新チェック間隔が長すぎるので何とかして!」という事は、本当に何とかすべきでしょう。
※ちなみにチェック間隔のカスタマイズ法はこちら

で、質問できなかったので自分で調べてみたら、Adobeご自身がシェアを公開してました。これによると、今年6月の時点でバージョン9は98.8%、バージョン10は86.8%との事。であれば大丈夫ですね。ただし、バージョン10でしか使用できない機能(3Dエフェクト等)を調子に乗って実装してしまうと、12%のユーザーは利用できなくなってしまいますね・・・



ちなみに、僕個人としては、Flex VS Silverlight はハッキリ言ってどうでもいいです。僕は暫くは両方を追っていくつもりです。空気悪くなるかもしれなかったので黙ってましたが、10月にはSilverlightの勉強会に出席予定。まぁいつかはどっちかに絞ることになるかもしれませんが。

ちなみに、僕の会社でこれから扱っていくとなると、Silverlightの方が優勢。というのは、前述したFlexの優位点(プラグインインストール不要、デザイナとの連携)なんですけど、僕の会社ではECサイト等のコンシューマー向けシステムの案件は皆無なので、ぶっちゃけ決め手にはならないんですよ。デザイナが絡んだ仕事なんて聞いた事ありません。そうなるとスキル習得や開発ツールの導入コストが一番の決め手になってくるのですが、Microsoft文化の会社だし(VBメイン。JavaソースもVSSで管理しようとする)、MS公式の無償開発環境もあるので、多分Silverlightに軍配が上がります。

とにかく、僕は両方追っていこうと思っています。



ちなみに会場はAdobeの会議室だったのですが、いい椅子使ってました。現在の僕の職場の椅子は、ガス昇降式ですらない・・・

ターンじゃないAガンダム