C++ Builder vs C# どっちがいいか教えて©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/03/26(土) 22:51:31.60ID:KKewP24J
やるならどちらがいいんでしょうか?
2016/03/27(日) 12:39:10.34ID:XGu9z7+0
C++みたいなごちゃごちゃクソ仕様よりはC#はマシだと思うけどな
16デフォルトの名無しさん
垢版 |
2016/03/27(日) 12:51:57.10ID:5P1z9q7E
>>14
C#は
かっこわるい
C#で作ったと聞いただけで敬遠される
起動が遅くていらいらする
もっさり動作で遅い
メモリ消費が多い
負荷がかかるのでバッテリーがすぐ減る
開発者の都合でC#を選んでもユーザーにはなかなか使ってもらえないから結局C++に書き直すことになる
C#で作ったというだけで、遅くなくても遅いとケチをつけられて納品したものも作り直しさせられる
C言語の記述を書くとエラーになる
主流のC++と異なるヘンテコ言語
Javaとも互換がない
使えるライブラリが少ない
Androidに不利
iOSに不利
Mac OS Xに不利
インストールしたてのOSでは動作しないのでユーザーにキレられる
2016/03/27(日) 13:16:36.08ID:HhNrW7B8
多分彼はC#のトゲトゲに刺さったんだろ
2016/03/27(日) 14:36:41.97ID:16qVVvu7
>>16
よほど腐ったOSとPC使ってるんだろうな
でもそれはJavaも同じだぞ
JITコンパイル言語は基本的に富豪的プログラミング
2016/03/27(日) 14:43:47.94ID:XGu9z7+0
>>18
>富豪的プログラミング
なにそれ
2016/03/27(日) 14:45:29.47ID:XGu9z7+0
念のためググったら出てきたから回答不要です
2016/03/27(日) 14:51:21.58ID:16qVVvu7
だいたいスマホのアプリですらJavaかC#なんだが
どんだけ腐ったPCなんだよ
22デフォルトの名無しさん
垢版 |
2016/03/27(日) 15:49:05.31ID:C5Gjgek2
>>21
スマホのアプリも大きなプログラムはC/C++/Objective-Cで書かれているよ。
C#はスマホ規模の小さいプログラムならまだなんとかなるかも知れないけど
パソコンの大きな規模のプログラムを作るならC/C++でやっとかないと他の競合ソフトに勝てないよ。
俺だけが使う俺ソフトの需要を満たす言語と、プロが作るシェア争いに勝つ言語は違うさ
そこでC++ Builderですよ
2016/03/27(日) 15:53:18.46ID:3kFBEoEP
規模小さければ、速度必要なソフトでもC++選ばないっていうことですか?
24デフォルトの名無しさん
垢版 |
2016/03/27(日) 16:22:04.89ID:fI+awN4B
>>23
>規模小さければ、速度必要なソフトでもC++選ばないっていうことですか?
別にC++を選んでもいいし、Hello World. を表示するだけならC++でなくてもいいだろう。
だが、Androidの場合はマルチCPUだから事情が異なってJava CPUという仮想のネイティブCPUがあると仮定しているんだ。
もちろん、開発者がそれを無視してC/C++を使うのも自由だし、実際よく使われているけどね。
Androidは、ARM Intel Atom、MIPSなどいろんなCPUがあるからね。
AndroidタブレットAtomが増えてきているよね。
MIPSのAndroidなんかねーよとか思うかも知れないけど、少なくとも過去にあったな。
http://juggly.cn/archives/47873.html
Atomの場合は、非JavaソフトをARMからAtomに変換する技術(バイナリトランスレーション)を使ってAtomでも動くようにしているらしいけど
変換できないソフトもあるし変換できてもパフォーマンスもいいかどうか分からない。

残念ながら、Androidに完全に対応するのはJavaだけで、C/C++でもC#でも各CPUにコンパイルしなおさなければ動かない機種が存在するということ。
かといってコンパイルし直す開発環境を用意できなかったり面倒だったりして、CPUの種類ごとにコンパイルするこは少ない。
どちらにしろ、AndroidでJavaが使われる場合があってもC#は採用しがたい。
Java仮想マシンはAndroidにとっての仮想ネイティブCPUなんだから。
だからJavaで作れられたAndroidソフトはネイティブソフトと呼ばれる。
2016/03/27(日) 16:27:13.15ID:fI+awN4B
>>23
規模が小さいけど速度が必要ってパターン、あると思うけどあまりないと思う。
規模が大きいほどメモリも多く使うし読み込み時間も長くなるし速度に影響が出ることか多いと思う。
特にVMを使う言語は影響が出やすい。
もちろん、規模に関わらず速度が必要ならC/C++でしか実現できないことはあるでしょう。
2016/03/27(日) 16:44:23.36ID:Bsd2GHZR
ふむふむ
C++ Builderのほうが良さそうですね
2016/03/27(日) 16:55:40.52ID:c5EVjRBy
Delphiがいい
2016/03/27(日) 17:06:13.06ID:13Gt4Wr7
C++がすでにできるならC++Builderでもいいかもしれんが、わかんないならC#からの方がいいと思うな
未定義の処理や処理系定義の互換性については入門書では扱いきれない内容だし、メモリを破壊しても処理が続行して結果がおかしくなるとかは初心者は原因すらつかめなくてコンパイラのバグを疑ったりしてる例はわりとある
C#ではそういうことはないし、速度的にも初心者のうちは困ることはない

その後、やりたければC++もやればいい
2016/03/27(日) 17:21:53.00ID:kVDqRQ+A
C++ Builderが対応しているFireMonkeyっていうクラスプラットフォームのGUIライブラリはどうなんですかね
C#にFireMonkeyみたいなものはあるんですか?
2016/03/27(日) 17:36:46.46ID:WowjK6nr
独りでデカイ物なにかを造るならビルダー
1から10までイロイロ揃っている
2016/03/27(日) 17:55:24.55ID:jU5k11Ye
>>16
バカ発見
2016/03/27(日) 18:18:19.60ID:wNuMHxUf
フリーソフトかなんかダウンロードしたら.NETのインストールが必要とか出てきて
めんどくさくて使わずに削除とかよくやった。
動けば試してやったのにな
33デフォルトの名無しさん
垢版 |
2016/03/27(日) 20:44:18.33ID:oZPPiEpI
今年のC++ BuilderのロードマップにLinux Serverってあるけど、コマンドラインだけなんだろうなあ。
それでもlibcがボーランドのライブラリならLGPL感染しなくて済むから便利かも知れない
34デフォルトの名無しさん
垢版 |
2016/03/27(日) 20:50:51.50ID:xKhiQxW2
>>28
>>24
APP_ABI= all
付けるだけでサポートしてる全CPUでビルドしてくれるんだけど
2016/03/27(日) 21:00:10.01ID:oZPPiEpI
>>34
どういう開発環境で?
2016/03/27(日) 21:00:56.69ID:g3HgW6mc
>>34
でも完全に同じにはならないでしょ?
37デフォルトの名無しさん
垢版 |
2016/03/27(日) 21:05:04.42ID:xKhiQxW2
>>35
Android NDK
>>36
完全に同じにする必要性がわからんけど
2016/03/27(日) 21:07:49.04ID:g3HgW6mc
>>37
初心者が入門するには不向きだよねってこと
39デフォルトの名無しさん
垢版 |
2016/03/27(日) 21:11:03.42ID:xKhiQxW2
>>38
同じだったら初心者にどんなメリットがあるの?
2016/03/27(日) 21:17:59.29ID:lViptD/i
何で今更エンバカなんだよ
Del6でピーク迎えて今使っている奴なんて当時の人間だけでわざわざ新規いないだろ
それどころかDel使いも殆どがC#に移行しているしさ
DelphiでそうだからC++Builderとか尚更
色々バグも残っているし今時開発環境でボッタくってるし
2016/03/27(日) 21:26:35.47ID:oZPPiEpI
>>37
そんなに簡単に各CPUをコンパイルできるなら
なんで、FacebookとかLINEはARMバイナリしか配布してないのかなあ
2016/03/27(日) 21:27:18.22ID:g3HgW6mc
>>39
自分の環境では(偶然)動いたけど、別環境やバージョンによって動かないとか、他環境の不具合が再現しないとかそういうことが少なくてすむ
>>28の通り、根本的にC/C++はバグを埋め込みやすいし、見つけにくいので、そっちのほうがメインの理由だけどね
2016/03/27(日) 21:27:40.53ID:oZPPiEpI
>>40
欠点なければC#でもいいけど
欠点だらけじゃん
44デフォルトの名無しさん
垢版 |
2016/03/27(日) 21:37:51.74ID:xKhiQxW2
>>41
ほぼ誰も使わないのにアプリサイズがでかくなるのが理由でしょ

>>42
CPUの命令セットの違いでハマった事無いからわからんわ。
GPUの違いでハマった事なら何度もあるが。


最近はデバックツールも充実してきてるからC++でもそれらのツールの使い方さえ知ってればデバックもそれ程難しくないけど、初心者ならC#使えばいいと思う
どちらにせよ、C++Builderは無いかな。
45デフォルトの名無しさん
垢版 |
2016/03/27(日) 22:04:36.62ID:F4Ta+g3v
なんだかんだいってもどこへ行ってもC/C++が一番よく使われているんであって
バグが出やすいとか難しいとかいうのは詭弁とか言い訳
C#なんて独自言語。
Mac OS Xなど他のOSがC#サポートしているんならまだ分かるけど孤立しているよね。
本格的に作るならC/C++しか有り得ないよ
Androidも上位人気ソフトは80%ぐらいがC/C++らしい。
人気ないソフトは逆にJavaが増えるのかも知れないけど。
C#なんてOSで直に動くソフトじゃないから。
.NETという無駄な物をかましているからエコじゃなくてパフォーマンスも悪い
電気も無駄に食うから福島の原発再稼働してからC#使ったほうがいいよ。
2016/03/27(日) 22:10:55.33ID:g3HgW6mc
>>44
知り合いが学校の授業で未定義の処理があったけど、自分の環境だとうまく動いたので気が付かずに提出
先生のところではうまく動かなくて減点されたって話を聞いた

一定のレベル以上の人なら当然未定義動作によるミスなんてそうそうしないだろうけど、C++BuilderとC#どっちがいいとか聞く奴はそのレベルに達してないんじゃないかな
2016/03/27(日) 22:18:48.97ID:g3HgW6mc
>>45
一番よく使われてることとバグが出やすいこと、難しいことは別問題だよね?

>Androidも上位人気ソフトは80%ぐらいがC/C++らしい。
ソースは?
2016/03/27(日) 22:42:16.06ID:UGnRhUEw
>>45
アスペ
2016/03/27(日) 23:17:25.44ID:OtCxpMph
>>47
>http://www.geocities.jp/andosprocinfo/wadai14/20140503.htm
>ARMのRod Watt氏はGoogle Playストアの上位25のアプリと上位25のゲームを含む100種のアプリを調査し,
>Dalvik VMだけで動いているのは20%しかなく,残りの80%はARM ネーティブのコートを含んでいると述べています。

ちょっと正確ではなかった。
80%は「ネイティブコードを含んでいる」なので、部分的にJavaも使っている可能性があるし、C/C++で書いたとも限らないが、
Javaだけで書いたものは20%しかないということ。
仮にC/C++だけで書くとして、GUIライブラリはどうするんだろう?
C++ BuilderならAndroid、iOS、Windows、Mac OS X共通のGUIライブラリがあるけど。
上位の人気ソフトがネイティブコードを出す言語を使ったのは、速度のためもあるけど、

JavaとかC#って逆コンパイルしたソースがそのまま復元できるから人気の公開ソフトとしてはC/C++使いたくなるかな。
50デフォルトの名無しさん
垢版 |
2016/03/27(日) 23:21:33.20ID:OtCxpMph
C#は、逆コンパイルしたらソースそのまま復元できるんで、まともな会社なら使わんよ。
特定のクライアントだけにソースごと納品してソース内容を守秘義務契約していて気にならないって会社もあるだろうけど、
ソース出す契約してない仕事のほうが多いからね。
不特定多数の人に使ってもらうソフトならなおさら、C#はソース漏洩するんで使えない。
2016/03/27(日) 23:26:26.37ID:4viO5rAv
>>50
まともな会社は使ってないってソースを教えて先生!
2016/03/27(日) 23:36:25.45ID:OtCxpMph
よく知らないんで想像にすぎないけど
Androidが、Javaよりも C/C++(Android NDK)のほうが難しいと言われているのは
言語が難しいんじゃなくて、GUIを実現する方法が難しいんじゃないかな?

C++ BuilderだとIDEで適当にコンポーネントをマウスで貼り付けて実行するだけで簡単にAndroidで動くよ。
そしてそのAndroidとプロジェクトでiOS、Mac OS X、Windowsでも動くんですけど。
OS固有の機能を使わないで互換性考えてソース書く必要はあるけどね。
53デフォルトの名無しさん
垢版 |
2016/03/27(日) 23:52:47.63ID:OtCxpMph
>>51
逆に聞くけど、逆コンパイルされてソース漏洩、知的財産侵害して欲しいからC#使いたいって会社あるかな?
逆コンパイルされたくなく、ソース保護、知的財産を守りたいからC/C++を使いたいって会社は多い。

ソースというか、検索したらみんな逆コンパイルの対策で悩んでいるよ。
C#しかできない人は諦めているんだろうけど。
難読化とかあるけど、効果あるものがないね。
C/C++の人は対策する必要もなければ悩む必要ない。

ま、君が逆コンパイルされてソース見られていいんならそれでいいだろうけど、
俺は知的財産守るべきソフトは守りたい。
俺も作ったソフトによってはオープンソースにしているけど、オープンソースにするか否かは製品ごとに自分の意思で選びたい。
選べる言語を使いたい。
自分の意思に関わらずソース漏洩するC#とか嫌だ!!!!!
2016/03/28(月) 00:04:05.77ID:mNPc3vI9
>>53
つまり先生の妄想ってことですね!よく分かりました!
2016/03/28(月) 00:06:49.44ID:h9yZCrPP
windows鯖やazure使ってる会社はまともじゃないってか
2016/03/28(月) 00:13:28.45ID:LM4RKihH
>>55
C#は鯖にしか使えないって言いたいの?
ソース保護のためにサーバーで動くソフトしか作れないとか不便すぐる。
鯖だとJavaサーブレットとかPHPとかあるんでC#の出番ないっすwww
2016/03/28(月) 00:15:21.81ID:6x6jw7qE
>>56
お前日本人じゃないだろ
てかサーブレットワロタwww
2016/03/28(月) 00:16:48.49ID:p9kcRGxx
>>53
C# 難読化
で検索することと
C/C++の逆アセンブラはDOSの時代から
使われていたことを受け止めてください
2016/03/28(月) 00:18:38.05ID:mNPc3vI9
>>56
PHPってC#の代替になるんですね!初めて知りました!PHPってほんとすごい!!
60デフォルトの名無しさん
垢版 |
2016/03/28(月) 00:25:05.73ID:fQ8u45d7
C#を使うと誤認逮捕される!
.NETはセキュリティーの問題があるので削除しましょう。
Visual Studioをインストールしていないくても.NETが入っているだけでC#のコンパイルができます。
iesys.exeというマルウェアがあります。
C#のソースを他人のパソコンに送り込みコンパイルしてから実行するという手段です。
.NETを削除してC#を使えなくすると誤認逮捕されずに安心して眠れます。
2016/03/28(月) 00:31:20.46ID:PB7zzP7z
>>58
逆コンパイラをダウンロードして、難読化した君のプログラムを逆コンパイルしてからまた書き込んでほしい。
難読化とか意味ないから。
逆コンパイルしたことない人にはピンと来ないんだろうな。
逆アセンブルと、逆コンパイルは意味が全然違います。
逆アセンブルしてもらって結構です。
逆コンパイルが困るだけ
2016/03/28(月) 00:54:59.12ID:fJ5+kaez
>>49
ARMの宣伝か。人気ランキングなんてタイミングによって変わるし、ある程度恣意的に調整したんじゃね?
ライブラリに若干含まれていて自分では書いてないか、3DゲームのためにOpenGLを叩いてるアプリがほとんどじゃないかな?

逆コンパイルに関してはC/C++でも逆アセンブルを解析されないようにするならパッカー使ったりエントリーポイントをアセンブラで書いたりいろいろ工夫してるし、「対策する必要もなければ悩む必要ない」っていうのは言いすぎだろう
まぁ、.NETやJVMがソースの隠匿に適さないのは確かだけどね
難読化すれば素人の解析程度は防げるから全く効果がないというわけではないけど
2016/03/28(月) 01:08:13.83ID:fJ5+kaez
C++Builderちょっと調べて見たけど、情報が少ないなー
http://blogs.embarcadero.com/teamj/2014/06/08/4534/
あたりを見ると、OS固有の機能ってAndroidのインテントとかも含むのね
Android、iOS、Windows、Linux、MacでのAPIを熟知し、C++を少ない情報で書ける程度には習得しており、C++Builderを購入する程度の財力
これを考えると言語によらずマルチプラットフォーム対応って敷居高いなぁ
Webアプリにするところの気持ちもわかる
2016/03/28(月) 01:18:08.75ID:OFRXUbw3
>>62
>難読化すれば素人の解析程度は防げるから全く効果がないというわけではないけど

いや、全く効果がない。
ほとんど元のまんまだぜ。
Javascriptの難読化と勘違いしてない?
なぜ逆コンパイラをダウンロードすらせずに意見をするの?
変えても問題ないメソッド名とか変数名が変わるだけで、逆コンパイルして出て来るソースほぼ丸ごと同じだぜ。
むしろ使っていない変数やコードを削除してくれて逆に読みやすくなるぐらいだ。
あと、効果ないわりには難読化したよく動かなくなるよ。
開発期間が延びる。
2016/03/28(月) 01:35:56.59ID:BJaLc/gi
>>63
FireMonkeyというフレームワーク内で作るなら全く知識は要らない。
Windowsで直接動くわけじゃないから実行環境の構築に知識がいるけどね。
Windows上のAndroid SDKのエミュレータ使うか、実機につなぐ必要がある。
財力ない人は黙ってクラックして無料で使うから問題ない。
新しい開発環境に慣れることは並大抵ではないし、今何かやっているならそれを続けるればいいんじゃない?
WebアプリはJavascriptのみですめばいいけど、
サーバー使うならサーバー代金はかかるわ、難しいわで大変だと思うよ。
2016/03/28(月) 02:17:08.19ID:fJ5+kaez
>>64
いや、逆コンパイルはしたことあるよ
前うまく表示されなかったのをもう一回検証してみたら、不正な命令を追加することで逆コンパイルをさせない仕組みだった
実際ILSpyとdotPeekでは表示されない

ILのペインではそこそこ表示されるけど、ここだとyield returnとかまでは再現されないし、ILの知識がほしいかな
名前を記号とか制御文字に変えるのと組み合わせればjavascriptの圧縮と同程度の効果、つまりそこそこ詳しい人がある程度時間をかける必要が出てくると思う
2016/03/28(月) 02:19:46.97ID:fJ5+kaez
「C++Builder firemonkey intent」で検索してみたけど、androidのAPI知識が必要そうなdelphiのコードばっかり出てくるんだけど、なんてググればいいの?
2016/03/28(月) 03:14:30.36ID:L6Z+SHlh
>>66
難読化ソフトの名前を教えてください。

>>67
それ以前に、C++ Builderをインストールしたの?
どうせ使わないんでしょ?
「android "C++ Builder" intent」で検索したり、
脳内でDelphiをC++に変換するかでしょう。

難しそうならJavaかAndroid NDKでやりなよ。
というか、Android NDKってC/C++なんだったら、
そっちからサンプル持ってくればいいんじゃないの?
Android NDKは C/C++なんだから、C/C++のほうがDelphiより情報多いんじゃないの?
intentの前に、普通にC++Builderが使えるのかどうか小一時間だよ
2016/03/28(月) 08:40:10.02ID:ygmp/osz
ということで、C#はandroidはCPU毎のネイティブ吐いてインストールする仕組みを作りました。
2016/03/28(月) 10:23:13.31ID:BvjiV45x
まずはC++ Builderのダウンロードだな
2016/03/28(月) 16:53:43.67ID:TB48DCRD
なにこの業者スレ

エンバカデロって日本にも支社があって
社員も日本人だったかな?

そんなにc++builderを必死に売りたいんか?
これ実質有料ソフト購入しなきゃいけないからな
2016/03/28(月) 17:30:28.46ID:sEV73+7Q
>>71
荒らしに来なくていいよ

ここでダウンロード
ttp://altd.embarcadero.com/download/radstudio/10/delphicbuilder10_upd1.iso
2016/03/28(月) 17:58:19.57ID:k/AwS8G7
>>71
荒らしは消えてくれるかな
2016/03/28(月) 19:21:53.98ID:Kbyzox1g
なんで今さらC++Builder?
C++はまあいいとしてRADでやりたきゃQtとかの方がいいのでは?

Builderはむかし少し使ってみたけどいきなりバージョンアップしなくなるし、メーカーの対応もおかしかった
しょせんはDelphiの派生物だよ
2016/03/28(月) 19:30:39.87ID:ZUlfj5Bp
C++Builderが嫌われてしまいそう
無理に推されるのって迷惑なんだよなぁ
2016/03/28(月) 19:33:16.38ID:W+7nMgLD
MSのWin10ゴリ推しといい、最近迷走が目立つな
破局の兆候にしか見えない
77デフォルトの名無しさん
垢版 |
2016/03/28(月) 20:37:26.98ID:aXpG/pT+
>>74
このスレはC++ BuilderとC#のスレなんだよ。
Qtがいい人は、Qtのスレに行きなよ。別にこのスレに来なくていいから。
Qtのスレを盛り上げて来い。

RADではQtよりはるかに使いやすい。
QtのLGPLライセンスは扱いが難しい。
C++ Builderはライブラリに配布制限とかソース公開しろとかリバースエンジニアリング許可しろとか、無茶苦茶なライセンスがないから使いやすい。
Qtはコンパイラ用意してくれてないし、全部セットで配布してくれない。
コンパイラは勝手に用意して来いというQtは痛いよ。
コンパイラが変わるとソース互換が崩れるから、コンパイラまでサポートしてくれないと困る。
逆聞きたいのは、なんで「なんで今更」
バージョンアップはずっとしている。
今年もLinux Serverに対応予定。

>>75
別に推してないから気に入らないならスルーして他のスレに逝けよ
わざわざ嫌いなスレにストレス発散に来なくていいから
78デフォルトの名無しさん
垢版 |
2016/03/28(月) 22:30:18.25ID:x6sD+IyY
初代C++ビルダーってバージョン1じゃなかったんだよね。
あとからバージョン1になった。
俺その無印ビルダー買ったんだけど、何十年前だっただろね、TurboC++も買ったんだよね。
その頃は安く買えるとてもいいものだったのにね。
今買う人は何なんだろね。
2016/03/28(月) 23:05:15.66ID:2LSumYdz
>>78
ヒント: クラック
2016/03/28(月) 23:13:08.95ID:fJ5+kaez
>>68
難読化ソフトはわからんが、AirExplorerというソフトを逆コンパイルしたら表示されなかった
深い理由があって解析しようとしわけじゃないからそれ以上深入りはしてない

適当にいくつか見てみたら、
http://babelfor.net/
のDownloadのマニュアル内に「Use this option to emit invalid MSIL op-codes at the beginning of every method. This will stop reflection tools
like .NET Reflector to display IL method disassembly.」みたいなことが書いてあったからこの手のやつかな?

>難しそうならJavaかAndroid NDKでやりなよ。
難しいかどうかじゃなくて、
「適当にコンポーネントをマウスで貼り付けて実行するだけ」
「OS固有の機能を使わないで互換性考えてソース書く」
「FireMonkeyというフレームワーク内で作るなら全く知識は要らない。 」
でどの程度行けるかという話。やはり他の言語と同じでアプリ内容によるけどOSの知識も必要なわけね。

ちなみに、AndroidNDKのサンプルも探してみたけど数少ないしsystemでコマンド呼び出すとか、リフレクションみたいなことしてた・・・
おそらく、ゲームみたいにOpenGLとかしか使ってないか、速度稼ぎとか資源移植以外の部分はJavaで書かれてるんじゃないかな?
どれにせよC++Builderの書き方とは違うからヘタに参考にするとますます複雑になりそう
2016/03/28(月) 23:46:33.87ID:q9P+oAlv
>>80
Javaならそのintentというのをやったことがあるんですか?
2016/03/29(火) 00:15:39.63ID:cKAS1zVI
>>81
AndroidはあんましっかりやってないけどActivityの起動からブラウザでURL開くとか、共有するとか全部Intentじゃないっけ?
最近変わったとかならわからんが
2016/03/29(火) 01:36:49.10ID:DClmzZzw
>>82
Android詳しくないんで、intentもActivityも共有も意味は分からないんですが、
ブラウザでURLを開くのは別のブラウザを呼ばないとだめなんでしょうか?
FireMonkeyのWebBrowserコンポーネントのウェブブラウザ機能で自作アプリ内でURLの内容を表示したらだめなんでしょうか?
別にOS固有の機能を使うこともできるとは思うんですが、やり方を調べられそうにないなら経験のある今までの方法でやればいいと思います。
どんな開発環境でも使う気がなければ使えないです。
2016/03/29(火) 03:01:26.75ID:cKAS1zVI
>>83
AndroidじゃなくてWindowsとかでも同じ
状況によるけど普段使ってるブラウザじゃない簡素なブラウザで開かされてもブックマーク登録すら満足に出来ないじゃん
2016/03/29(火) 04:06:27.15ID:cKAS1zVI
共有は、例えばyoutubeアプリで面白い動画で共有ボタンをす
すると、intentによって端末内のアプリの中の共有機能一覧が表示される
例えばLineのアプリならLineで送信の機能を提供してるし、twitterならツイートできるだろう。他にもQRコードを作成したりメールを送ったりいろんなアプリがある

Androidにおいてはくファイル保存とかクリップボードと同じ程度には大事な存在

やり方を調べられそうにないって言ってるんじゃなくて、その程度のことで処理やデザインが分岐すると、C++Builderのマルチプラットフォームがどの程度使い物になるのかねって言ってるんだ
2016/03/29(火) 11:59:34.29ID:6HzkeLa+
なぜ、マルチプラットフォームの開発環境の話で、どうでもいいかも知れないOS固有の機能を呼び出すことばかり考えるのか分からない。
そりゃ、特定のOSの固有の機能をバリバリ使うという特殊なプログラムなら、他のOSへの移植しやすさが半減したりもしくは逆効果になることもあるだろう。
逆に聞くと、Mac OS Xと、Windowsと、iOSと、Androidの四つのOSで動くソフトを作る場合に、
別々の言語、別々の開発環境で作ったほうが楽なんだろうか?
Objective-Cと、JavaとC++の三言語で作るの?
しかも全く共通しないIDE使って作るの?
楽だと思えばそうすればいいしが、普通は楽でないと思ってマルチプラットフォームを諦めるだろう。
マルチプラットフォームを諦めたくないとか、最小限の労力で他のOSに移植するためにC++ Builderがあるんだよ。

四大OSに、マルチプラットフォームブログミングをなんらかの方法で実現している人からの批判なら分かるけども、
最初からマルチプラットフォームを諦めている人からの批判とか無意味。

モバイルとデスクトップでGUI共通を実現してるのはC++ Builder/DelphiとQtだけ。
他にはGUI機能が少なくてゲーム用って言っているものがあるぐらいだ。
87デフォルトの名無しさん
垢版 |
2016/03/29(火) 12:26:22.75ID:qYsN+UUg
>>86
AndroidとiOSの両方対応ですらすごいのに
デスクトップOSまでサポートしているとはびっくりだね
2016/03/29(火) 13:02:38.16ID:r66bTvj8
マルチプラットフォームといえば、Xamarinってどうなんだろう?先日MSが買収したし期待できない?
2016/03/29(火) 13:31:58.51ID:cKAS1zVI
>>86
どうでも良くないんだって
共有はSNS、アドレス帳、カレンダー、乗換案内、2chブラウザまで幅広く、ほとんどのアプリに搭載されてる
ゲームみたいにそのアプリ内で完結するもの以外は必須という機能

お前みたいにAndroidの基礎知識状況で作ったアプリは最大公約数の使いにくいアプリになる
使いやすいアプリには各種プラットフォーム固有の知識やデザインルールの知識を保有し、C++Builderに落とし込める人材が必要だが、そんなマルチな人そうそういない
それならそれぞれの環境に詳しい人が担当して作るか、Webにしたほうがいい
2016/03/29(火) 13:38:42.30ID:nEM/qKPT
C++Builder
3月30日まで20%OFFキャンペーン実施中!
2016/03/29(火) 14:09:15.21ID:uUPY/4By
>>88
MSはxamarinの技術を使ってUWPをアンドロイド、iOSで動かすんじゃないかな?
ネイティブコードコンパイラまで装備しているんだからMS+C#が天下取る可能性十分だよ
92デフォルトの名無しさん
垢版 |
2016/03/29(火) 14:23:33.53ID:ORgO+K8M
>>88
Xamarinは、基本モバイル専用。
デスクトップには低機能だし、使っているmonoが低機能。
WPFもWFも使えない。
Windows用のC#とは別物だと言うことを理解しておくべき。
メインがデスクトップで、メインOSがWindowsのC++ Builderとは立ち位置が全く違う。
XamarinのターゲットOSに、Windowsは含まれていないのでC++ Builderとは正反対になる。
Windows用としては使い物にならないということだろう。
あとは、Xamarinにはライセンスの問題があるかも知れない。
オープンソースライセンスの技術を使っているから、
有料版にあるのに関わらずGPL/LGPLの制限を受けるのではないだろうか。
GTK#も使っているし。
C++ Builderは多分、GPLとかLGPLは使ってないから、ライセンス上扱いやすいのではないかと思う。
2016/03/29(火) 14:29:40.02ID:/SdHeF01
つーか、エンバカデロとかワケわかんないので使いません。
2016/03/29(火) 14:42:47.84ID:cKAS1zVI
>>92
確かXamarinはデザインは共有せず、ライブラリ共有が中心のはず
GUI以外では特にmonoが大きく低機能ということはない
それぞれのOSでやり方が大きく違うから、それを実現すると最大公約数の使いにくいアプリになっちゃう
Windowsでは普通にWPFなりで作ればいいでしょう

GPLの問題はなんの話だ
紅白のアプリとかがソース公開されてる話は聞いたことがないが
95デフォルトの名無しさん
垢版 |
2016/03/29(火) 15:05:01.66ID:ORgO+K8M
>>94
>GPLの問題はなんの話だ

UNIXライクOSとかオープンソース未経験の人はライセンス問題に無頓着なんだよね。
Xamarinは、オープンソース技術の集合体だ。
Xamarinが使っているmonoはGPL/LGPL/MITライセンスで、GTK#はLGPL。
他にもなんかあるかも知れない。
monoがどんなライセンスなのか、GTK+(GTK#含む)がどんなライセンスなのかを知ろうともしないでXamarinに興味持つとか
ちゃんちゃらおかしいよ。
オープンソースの知識がない人は安易にオープンソースの世界に入ったらダメ。

ライセンスを理解して受け入れて使うなら問題ないが、理解せずに使うと後々ややこしい話になりかねないよ。
作って公開したした後に、こんなライセンスは受け入れられないとか騒いでも遅いからね。
ライセンス的には気軽に使えるものではないことは心の片隅に置いておいたほうがいいだろう。
オープンソースのライブラリをリンクしていたのがばれてソース公開拒否して販売中止になったソニーの市販ゲームとか、
世界にはオープンソースの被害者はたくさんいる。
C++ Builderはオープンソース使ってないから使うのが楽なんだよ。
2016/03/29(火) 15:18:08.89ID:ORgO+K8M
>>94
Javaの場合は、GPLのOpenJDKというのがあるんだけど、
そのライブラリとのダイナミックリンクは例外でGPL感染しないことになっている。
Xamarinの場合、たくさんのオープンソース技術を使っているから全体的にどうなるんだろうね。
ま、使うならよくよく調べたほうがいいよ。
GTK+はLGPLだからリバースエンジニアリング許可は必須で避けられない。
そして、スタティックリンクしたらソースまたはオブジェクトファイルの公開必須。
ダイナミックリンクしたらソースとオブジェクトファイルの公開は不要になる。
だが、ライブラリを自分のプログラムと一緒に配布する場合は、そのライブラリのソースの配布義務が発生するというなかなか面倒くさいライセンスだよ。
ライセンス遵守のための手間も、開発の手間に含まれるんだよね。
2016/03/29(火) 15:46:40.56ID:uUPY/4By
monoに関する権利すべてをXamarinが保有していて、そのXamarinがMSに買収されることになったことを知らないのかな?
MSは万が一monoのライセンスに問題が発生してもライセンスを好きな様に変える権利を持つことになる
98デフォルトの名無しさん
垢版 |
2016/03/29(火) 16:21:56.88ID:ORgO+K8M
>>97
いつXamarinがGTK+の権利保有者になったんだ?

>MSは万が一monoのライセンスに問題が発生してもライセンスを好きな様に変える権利を持つことになる

そんな権利はない
Xamarinやマイクロソフトが仮にmonoの著作権者であったとしても、それがオープンソースライセンスである以上、
それを使うものはそのライセンスに従うしかない。
それがオープンソースというものだ。
Xamarinやマイクロソフトも、そのライセンスに従うしかない。
オープンソースだから開発に関わっていない俺や君にも権利がある。
monoはいろんな有志の人が開発に加わっていてどこかの会社が全ての権利を持っているということはない。
第三者の手が加わった状態でライセンスを変えることは法的問題があってできない。
詐欺だからな。
ましてやmonoのように、長年やっているプロジェクトならなおさらだ。
オープンソースには無料である代わりに制限がある。
そしてXamarinがそうであるように、無料である必要もなくどこの誰でも金を請求する権利がある。
俺がmonoのソースを君に100億円で譲ることも合法だ。
Xamarinが100%オープンソースというわけではないと思うが、オープンソースを多用した製品であるのは間違いない。
2016/03/29(火) 16:24:58.44ID:cKAS1zVI
>>95
いや、ライセンス問題に無頓着なんじゃなくてXamarin.AndroidとかのMonoはXamarinからLGPLじゃなくて商用としてライセンス許諾されてると思ったからなんの話か聞いたんだよ
https://www.xamarin.com/licensing
「Customers of Xamarin.iOS, Xamarin.Android, and Xamarin.Mac do not need to purchase commercial licenses to Mono for apps developed using those tools.」
商用で使う予定がなかったからあんまり良く調べてなかったけど。

今時UNIXとか関係なくみんなOSSぐらい触れてるよ
むしろMicrosoftの方が.NET CoreやコンパイラをMITにし、Javaと違って特許や商標で拘束しないとか使い勝手を優先してくれてるように感じる
まぁ、GPL以外は自由ではないと主張する人たちみたいになにがいいかは人それぞれだけど
2016/03/29(火) 16:38:08.91ID:cKAS1zVI
>>98
monoって言ってるのになんでgtk+が出てくるんだ?
gtk#を混同してないか?

Qtもそうだし多くの人の協力があってもその人達が権利を放棄したり移譲、許諾すれば一社が独占して権利を保持し続けられるんだよ
完全にコミュニティベースだったり、GNUの信者でもなければ商用開発が難しくなるようなことは協力者的にも嬉しくない

もちろん、GPLとして公開した事実は取り消せないし、forkして独自に開発をすすめることもできる
実際Tweenはライセンスを変更しソース非公開になったが、有志によるforkがOpenTweenとして開発されてる
101デフォルトの名無しさん
垢版 |
2016/03/29(火) 16:54:07.77ID:ORgO+K8M
>>99
>「Customers of Xamarin.iOS, Xamarin.Android, and Xamarin.Mac
> do not need to purchase commercial licenses to Mono for apps developed using those tools.」

なぜこの部分を引っ張り出したのか意図が分からない。
これどういう意味だと思っている?
「iOS版、Android版、Mac版のXamarinの客は、それらのツールを使って開発されたアプリのためにmonoの商用ライセンスを購入する必要はない。」
って意味だよね。

つまり、monoは商用ライセンスじゃないってことじゃないの?
商用ライセンスなら、購入する必要はないではなくて、「購入しろ」でしょう。
もしかしてこれが、「Xamarinに含まれるmonoはオープンライセンスではなく商用ライセンスです。」って書いてあると思ったの?
102デフォルトの名無しさん
垢版 |
2016/03/29(火) 17:09:10.33ID:ORgO+K8M
>>100
GTK#はGTK+のライセンスを継承しているから。
派生物であり、XamaringがGTK#を使っているから。

>その人達が権利を放棄したり移譲、許諾すれば

その人たちが数えられる数なら、一人一人回って相談できるが、monoのような長年やっている大プロジェクトに限って言えば難しくないか?
ライセンス変えても、過去のバージョンのライセンスは変えられないから矛盾が生じるよね。
過去のソース全て捨てて書き直せばいいんだろうけど。
裁判しないと分からないけどね。
とくかくレアケースだよね。
SRAのQtのライセンスの説明のところも、一度オープンソースライセンス版としてスタートしたものは途中から商用ライセンスに変えられないと書いてある。
途中で変わってしまうことがあるなら、なんのためのライセンスか分からない。
Qtは元々、普通のオープンソースライセンスからスタートしたわけではなくて変なライセンスだったからな。
最初から商用なんだし。
それに対するGTK側からの批判が強かったし、今でも強いよ。
2016/03/29(火) 17:09:26.58ID:cKAS1zVI
>>101
よく言ってる意味がわからん
上で商業ライセンスの購入について述べてるんだから「Xamarin.Androidなどに含まれるmonoはオープンライセンスではなく商用ライセンスです。」ってことじゃないの?
もっというなら、Xamarin.Androidの料金に商用ライセンスの許諾が含まれてるよという

商用ライセンスが適用できないなら「買えない」とか「適用できない」って書いてないとおかしくないか?
2016/03/29(火) 17:14:27.89ID:nEM/qKPT
わかりづれー書き方だけど
"Xamarin can sell you a commercially-friendly license that will suit your needs."
だから問い合わせがあれば特別な商用ライセンス付きのmono込のものも売れるよってことだろ。
2016/03/29(火) 17:16:05.62ID:ORgO+K8M
UNIXもいろんな人が手を加えていたから、オープンソースの部分とクローズドソースの部分を分けるのには裁判して決めた。
UNIXの著作権保持者が全ての権利を取得することはできなかったよ。
2016/03/29(火) 17:18:28.05ID:ORgO+K8M
>>103
その文面だけではオープンソースライセンスだから商用ライセンスを払う必要ないとも取れるよね。
とりあえず、
「Xamarinに含まれるmonoはオープンソースではありません。」とは書いてないよね。
2016/03/29(火) 17:22:18.12ID:ORgO+K8M
>>103
じゃあさ、wkipeidaの、monoのページに、「Xamarinに含まれるmonoはオープンソースではなく商用ライセンスです。」で書き込んで来なよ。

>>104
monoが商用ラインセンスなんじゃなくて、monoはオープンソース固定で、monoに付属されるものが商用ライセンスなんだよ。
例えば、サポート権だったり、別のアプリケーションだったり。
2016/03/29(火) 17:30:04.79ID:nEM/qKPT
>>107
オープンソースかどうかと、そのライセンスが商用かどうかとは排他的なものではないんだけど?
オープンソースだがライセンスはGPL/LGPLか商用を選べる「商品」なんていっぱいあるよ
109デフォルトの名無しさん
垢版 |
2016/03/29(火) 17:37:32.14ID:ORgO+K8M
Redhatがやっているように、GNU/Linuxがオープンソースだから全ソースは公開するけども、
バイナリの集合体のディストリを商用としている例はあるよ。
配布代、サポート代、コンパイル代、ディストリとしての設定代として金取っている。
それでも、オープンソースになんら変わりないから、全ソースだして、そっくりそのままマネされたものが出来ている。
Cent OSとかFedoraとかね。
そして、いくら金払ってRedhat買っても使う側はオープンソースライセンスに従うことになる。
金払ったから好きに使っていいとかないのがオープンソースだよ。
110デフォルトの名無しさん
垢版 |
2016/03/29(火) 17:41:32.96ID:ORgO+K8M
>>108
オープンソースは商品にできるよ。
それは最初から言っている。
商品にしても、オープンソースライセンスというライセンスは消えないというだけ。
俺が君にmonoのソースを100億円で売っても合法って言ったでしょ。
俺が100億円で売ろうとも、100兆円で売ろうとも、売ったものはオープンソースライセンスに従わないといけないもの。

俺が言っているのは、商用ライセンスというものができて、オープンソースライセンスが消えるということはないと言っているの。
オープンライセンスは固定で、別の何かに商用ライセンスをつけることはあるよ。何度も同じこと言ってるけどね。
2016/03/29(火) 17:42:58.36ID:uAktuDm7
くるしい言い訳してるなぁ
2016/03/29(火) 17:44:27.18ID:nEM/qKPT
そうじゃないライセンスがある場合があるんだよ
一般向けにはGPL/LGPLで提供してるけど権利者との交渉によっては別のライセンスが可能という場合が
Cent OSとかFedoraの例とは別の話
RHELはGPL/LGPLなんだからそれの別バージョンを作ろうが、それで金を取ろうがGPL/LGPLに従ってる限り勝手というだけ
混同するな
2016/03/29(火) 17:46:24.43ID:nEM/qKPT
>>110
「商用ライセンス」=「商品に出来る」の意味じゃないからね勘違いしないでね
2016/03/29(火) 17:50:11.75ID:cKAS1zVI
上まで読んでないだろ
LGPLが適さない場合はもっと使いやすい商用ライセンスもあるから相談してって書いてあるじゃん。

公式レポジトリにも「we also offer those pieces under commercial terms from Xamarin for the cases where the GPL and the LGPL are not suitable.」ってあるじゃん。
https://github.com/mono/mono/blob/master/LICENS

GTK#はmono上で動くし、monoprojectの一部だけど分離されてる
GTK#を使ってなければリンクされないからGTKやGTK#のライセンスは無関係
Xamarin.Androidとかでは多分GTK#は使ってないんじゃない?

>>105
それは受け入れたコードのライセンスをはっきりしなかった結果でしょ?
http://www.monodevelop.com/developers/
の"A Note on Licensing"にあるとおり、基本的にはX11ライセンスと互換のあるライセンスしか受け入れてないから、同じ問題は発生しない
Monoのコア部分(GTK#とかは含まず)のLGPL部分の著作権他はすべてXamarinが保有してるので、Xamarinが許可すればLGPL以外で提供可能
(LGPLは特殊な場合のみ受け入れるってかいてるけど、おそらくGTK#のように分離して感染を防ぐ)
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況