社内 Web システムのフロントエンド技術刷新: React Router v7 vs. TanStack Router

ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog どうも、ヤフーの佐野( @taketo1024 )です。先日引っ越しをしまして、張り切って自分でタンスを運んだりして今とても筋肉痛です。 皆さんは Objective-C から Swift への移行は進んでいますか?弊社ではまだ Obj-C で書かれているプロジェクトは多くあります。世に出ている iOS アプリも多くはまだ Obj-C で作られているんじゃないかと思います。 Swift もオープンソース化され、この先その進化のスピードはさらに増してくるはずです。そこでチーム内で開発を進めていた Obj-C → Swift コンバータ を大幅に改良しオープンソースで公開することにしました!この記事ではその導入と活用の方法を説明します
背景 Javascript で Web アプリを作ろうとすると、よくわからないことだらけで超混乱します。 npm と bower の違いは? npm はサーバーサイド用、bower はクライアントサイド用らしいよ えっ、でもなんで bower のインストールに npm が必要なの? サーバーサイドは Rails で書きたいから npm 要らないと思うんだけど・・・ ていうかサーバーサイドJSとか node.js って何? よく見る browserify って何? こういった疑問が沸き上がるのは、各ツールが生まれた文脈がよくわかっていないからです。いろいろ調べてやっとちょっとわかってきたのでメモします。間違いがあったらご指摘ください。 「CommonJS」誕生 - Javascript は汎用プログラミング言語へ その昔、Javascript 大好きおじさんは言いました。 Javascrip
こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 このまえ夏の技術職インターンシップの前半の開発講義・課題部分が終わったのでさっそく公開しちゃいます! ちなみにこのインターンの対象者はプログラミングはわかるし自分で(授業とかではなく)コード書いている人なので超初心者向けでは無く、少なくともひとつ以上の言語でプログラミングが出来る人向けです。 一日目 TDD + git 編(@yoshiori) 講義初日なのでまずは簡単に肩慣らし & 開発の基礎の部分として TDD と git で始めました。 git については軽く説明し TDD は基本のテストファーストで進めて行きました。 ちゃんと何かをするたびにテストを実行し、メッセージを見れば次にすることが分かるというのを体験してもらい、GREEN が良くて RED が悪いのではなく、GREEN を想定しているのに
本書の翻訳者の一人である@cero_tより献本頂きました、ありがとうございます。というわけで一週間かけて読んでみた。 www.amazon.co.jp 今現在 Java で開発している人、特に運用者や試験者は間違いなく買っておくべき本です。Javaに限らない一般的なパフォーマンスチューニングの考え方・観点から、Java アプリケーションにおいてボトルネックになりやすい GC や JIT の詳細な確認方法からチューニング方法が解説されている。特にすごいのが Java の世界のみならず、OS の世界まで触れている点。流石に OS の世界はここに書かれているのが全てではないけれど、Java アプリに関わる部分で問題になりやすい点は割と触れている。 JDK8 にも対応しており、今現在手に入る情報としては一番頼もしいと思う。4000 円程度でこの知識量が手に入るなら非常に安い。 お勧めの読み方 個人
今回からいよいよプログラミングを行います。最初のプログラミングはInterface Builder上で行います。 前回のおさらい 第3回では、Interface Builderを使った画面の作り方を学びました。実際に画面(View)に配置したパーツを再確認してみましょう。 Viewに配置されたパーツと名前 ユーザに何らかの文字を入力させるための「テキストフィールド」 ユーザにいくつかの選択肢の中からひとつを選ばせるための「セグメンテッドコントロール」 画面上に文字を表示するための「ラベル」 これらのパーツを配置しただけの状態では、アプリは何の役にも立ちません。そこでいよいよ「役に立つアプリ」にするために、プログラミングの作業へと入っていきます。 操作と処理を確認する まず、ユーザがパーツに対してどのような操作を行うかと、プログラムにどのような処理(動作)をさせるかについて確認しておきましょ
Swift での iOS アプリ開発 徐々にですが、でも確実に色々な場面で Swift のコードを見る機会が増えてきたことを実感します。 iOS の設計思想など大枠の部分では Objective-C での知見は生きてきます。 しかし Swift の言語仕様についても知っておかないと ついつい低きに流れて Objective-C ぽい Swift になってしまいがちです。 Swift のコードレビュー そこで Swift らしく Swift の良さを活かしたコードにするためにコードレビューの話になるわけです。 iOS 開発全般におけるコードレビューについては以下のブログにまとまっているので省きます。 iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary また本記事を書くにあたって Swift コードレビューを調べていて良いものがまとまっていた
一般的なデータベースでは、カラムごとにデータ型を指定し格納できる値が決められていますが、SQLiteでは、テーブルを作成するときに、データ型を指定しなくても良い寛大な設計になっているところも特徴的な部分です。 それでは、SQLiteの使い方をご紹介します。 今回も例として上げているコードは、サンプルプログラムとして以下からダウンロードできます。 サンプルプログラム 実行画面 ヘルパークラスの実装 SQLiteOpenHelperというヘルパークラスを継承してDBOpenHelperクラスを作成します。 SQLiteOpenHelperクラスのコンストラクタには、第一引数にContext、第二引数にデータベース名、第三引数にCursorFactory、第四引数にデータベースのバージョン番号といった値が渡します。 public DBOpenHelper( Context context ) {
2015-01-14 Android開発初心者が勉強を始めて2週間でアプリを公開してみた話を書く。 Android 雑記 Tweet Androidアプリを作ってみた。 昨日、わたくしがはじめて開発したAndroidアプリを公開しました。本日は、はじめてのアプリ公開までに勉強したことや、つまづいたことについて書いていきます。他の方が書いた記事を読んだおかげでアプリの完成にこぎつけたのので、わたくしも後からアプリを作る人の参考のために書き残しておこうと思ったためです。 Work Time Logger - Google Play の Android アプリ 「Work Time Logger」という働いた時間を記録するAndroidアプリを頑張って公開してみた。 Android Studioを使ってみる。 統合開発環境(IDE)は、「Android Studio」を使いました。Eclipse
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? きっかけ iOSアプリ公開の壁となっているプロビジョニング周りですが、ハマりまくったので覚えている内に図にしました。 難しくしてる理由 難しくしているのは、この辺が理由ではないかと思います。 iOS Developerサイトでの画面・操作手順がしょっちゅう変わる Xcodeも、バージョンによって画面・操作手順が変わる ということで、書籍やWebでのノウハウがすぐに古くなってしまいます。ググるといろんな情報が出てきてしまい、かえって混乱します。 また、開発時のiOSデバイスはXcode側である程度自動的にやってくれるのですが、それがかえっ
AppDelegateはアプリ全体のライフタイムイベントを管理するためのクラスですが、その性質上、様々な処理が書かれやすいです。 しかし、あらゆる処理が書かれ肥大化していくと、見通しが悪くなってメンテナンスがしづらくなったり、チームで開発してる場合はコンフリクトが起こるなど開発速度に支障をきたすようになってしまう場合があります。 そこで、この記事では、そんな膨れがちなAppDelegateを綺麗な状態に戻すための方法をいくつか紹介します。 1. AppDelegateの責務外の処理は他クラスに移す AppDelegateの主な責務はライフタイムイベントの管理です。具体的には「起動」「停止」「バックグラウンド状態の切り替わり」などなどUIApplicationDelegateで定義されているような処理です。 にもかかわらず、例えば全Controllerから触れる値を定義したいなどの理由で、責
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 背景 iPhone も年々デバイスサイズが大きくなっていき、左上のナビゲーションバー上のボタンを片手で押すことが困難になってきました。そのような時代においてはスワイプジェスチャーによるナビゲーション操作が今まで以上に重要になってきます。また、最近では情報の階層を分かりやすく表現するためにトランジションもどんどん工夫されています。トランジションが複雑になればなるほどその操作も複雑になるため、分かりやすさと使いやすさを両立するためにインタラクションを工夫する必要があります。 そんな2014年の終わりとして現時点での情報閲覧系 iOS アプリ
先月末にRESTful#とは勉強会2を開催してきました。 これがもう!!!!本当に良かった!!!!勉強になった!!!まだ興奮冷めやらぬ感じです。 勉強会1回目が終わり、得たRESTの知識を私はすぐ実践に生かすことが出来ました。 「これはURLとアクション考えるとControllerもう1個用意する?」なんて会話も出るようになり、レベルアップした感があります。 2回目はどうしようかなとぼんやりしていた時に見た このスライドが大変興味深くて、他にもSlideShareのREST関係も徘徊しましたが、これが一番鷲掴みされました!!! (レベルが上がってからまた徘徊すると、他の難しいと感じたものにも鷲掴みされるのかもしれませんね。楽しみ。) 「これは皆読むべき!そしてちゃんと理解できるようになりたい!」と思い、「WEBを支える技術」を見返したところ、最後の5部が「WEBサービスの設計」でしたので、
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめまして、Yahoo!キーボード PM 兼 iOS アプリ開発の千葉俊輝です。 今回は、iOS 8 で新たに追加された Custom Keyboard の作り方とYahoo!キーボードで使われているテクニックやプロダクトとしての成功ポイントを紹介します。 iOS 8 Custom Keyboard ? これまで、ユーザーは標準キーボードしか利用できませんでした。 iOS 8 ではサードパーティ製のソフトウエアキーボードが作成可能となったので、ユーザーは好みや目的に応じてキーボードを使用できるようになりました。 iOS 8 Custom Keyboard の全体図 キーボードアプリ全体の流れはこの図の通りです。 次のセクションで
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog どうも、taketo1024 こと佐野です。現在はヤフーの新しい検索アプリ「SmartSearch」のサービスマネージャ兼 iOS アプリ開発を担当しています。 この記事では SmartSearch のコードでも使っている、UIWebView と WKWebView の分岐処理をキレイに隠蔽(いんぺい)するためのテクニックをご紹介したいと思います。 WKWebViewとは iOS 8 から WebKitFramework が導入され、従来の UIWebView とは別に WKWebView というクラスが使えるようになりました。両者の違いは こちらのスライド でも詳しく解説されていますが、簡単に言うと WKWebView は UI
社内のライトニングトーク用に Qiita:Team に書こうとしていたものですが、誰かの参考になればと思い、こちらにアップします。対象は 「エンタープライズ系ではない」「スクリプト言語系の」WEB系エンジニア/プログラマ です。 流行り廃り、好みがあると思いますが、これらは実際に、私が試してよかったものです。サービスであったりライブラリであったり粒度がバラバラではありますが、参考まで^^; 「最近の」というタイトルですが、私的に最近、活用しているという意味で、サービス自体は昔からあるものもあります。 ① Heroku Heroku を利用すると、Ruby(on Rails)、PHP、Node.js、Python 等のサーバ側アプリケーションをホスティングすることが出来ます。デプロイ方法は Git で push するだけ です。 商用でちゃんと使おうとすると、無料枠の構成では難しいですが、デ
前回のおさらい 前回は、Android OSに搭載されているリレーショナルデータベースシステム「SQLite」に関して、以下を学びました。 具体的には、 テーブルの作成 アップグレード処理 レコードの追加 レコードの更新 レコードの読み出し の説明しました。使いこなすには、SQL文の学習が必要になりますが、SQLiteのライブラリは簡単に使うことができるので、サンプルプログラムを修正するなどして、自分のものにしてください。 ネットへ接続する スマートフォンは手軽にネットワークへ接続できるので、Webサービスと連携したり、複数のWebサービスをマッシュアップする等、ネットワークへの接続を前提とするアプリを開発するケースが多くなるはずです。そこで、今回は、ネットワークへの接続方法をご説明します。 ネットワークへの接続と言っても様々ありますが、今回は、最も汎用性の高いHTTP通信を取り上げます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く