質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

8563閲覧

Windows OSでのLinuxアプリの開発について

yoshi_yoshi

総合スコア18

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

3クリップ

投稿2016/11/13 02:20

半導体装置を作っている会社でプログラミングの仕事に携わっている者です。これまで、Windows OSをターゲットとしてVB.Net 2013にてアプリケーション開発を行なってきました。

(1) Linuxを使う利点について
最近、装置のパソコンをWindows OSにするよりもLinuxに変えた方がよいというアドバイスをよく耳にします。(開発環境ではなく実行環境の方です。)
まだ勉強中であまりよく分かっておらず、大変恐縮ですが、Linuxを使う利点について教えていただけないでしょうか。

Windowsの場合は、アプリケーションが.Net Frameworkのバージョンに依存する為、WindowsのOSが新しくなって今まで使っていた.Net FrameworkのバージョンにOSが対応できなくなった場合などに、アプリケーションの作り替えを余儀なくされるということがあると聞いています。
また時代と共に古いOSのパソコンは買えなくなってきますので、古い装置のパソコンが壊れた場合などに、対応に苦慮するという事が挙げられるのではないかと思います。

Linuxの場合は、常に同じ環境のOSがどんなパソコンにも(例えば、2000年に購入したパソコンにも2020年に購入したパソコンにも)用意でき、時代と共にパソコンが変わっていってもアプリケージョンの変更を余儀なくされる様なことはないという理解で合っておりますでしょうか。

(2) WindowsアプリからLinuxアプリへの移行について
Visual Studio 2015のVisual C++ for Linux拡張機能を使うことにより、Linux環境でのアプリ開発ができるとこれまでは理解しておりました。しかし、残念ながら私はVB.netでの開発経験しかなく、Visual C++を今から勉強しようかと考えていた所です。
しかし最近Micorosoftから、LinuxでWindowsコードが動く「.Net Core」が正式版リリースされたという情報を目にしました。これを使えば、VB.NetでのLinuxアプリの開発が可能になるという理解で合っておりますでしょうか。

ネット上で情報収集を行なっておりますが、私の理解が追い付いておりません。素人質問ばかりで大変恐縮ですが、どなたかご教授いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/13 03:41

CentOS 6 系のApplicationが CentOS 7では標準では動きません。ので20年後のOSで動くかというのは否です。 Windows の場合もしかり 95専用Applicationは現在の 10では基本動きません。
Tak1wa

2016/11/13 04:21

作成するアプリケーションの特性によると思います。アプリケーションの概要を提示されては如何でしょう。「半導体の会社」からの推測しかできません。
guest

回答2

0

(1) Linuxを使う利点について

目的によって利点と欠点が大きく変わるので、一概には言えません。
互換性を気にしているようですが、旧バージョンとの互換性については、むしろWindowsの方が上のように思います。Linuxはあまり互換性を重視していないような印象があります。異なるLinux間のバイナリ互換はほぼ期待できませんし、バージョンが変わると互換性がなくなったりもしますから。カーネルが2.4から2.6に上がったときはかなりの混乱があったように思います。

ちなみに、以前Windows10(8.1だったかも)にWindows95のゲームソフトを試しに入れてみたところ、動きました。画面がちらついたりすることがあったので完璧とは言えませんが、プレイできるだけでも驚きです。

Linuxの場合は、常に同じ環境のOSがどんなパソコンにも(例えば、2000年に購入したパソコンにも2020年に購入したパソコンにも)用意でき、時代と共にパソコンが変わっていってもアプリケージョンの変更を余儀なくされる様なことはないという理解で合っておりますでしょうか。

どういうことなのかよく判りません。Linuxでもバージョンが変わればそれは異なる環境ですし、同じバージョンのLinuxを20年の隔たりがあるマシンに入れられるかどうかは微妙です。たぶん無理だと思います。

(2) WindowsアプリからLinuxアプリへの移行について

.NET Framework環境はLinuxへも移植されていて、開発環境であるMonoDevelopはVB.NETも対応しているようです。私はVB.NETは使ったことがないのですが。以前、試しにWindowsで作ったフォームアプリ(C#使用)のプロジェクトをLinuxに移してMonoDevelopでビルドしたら、そのままビルドできてちゃんと動いたので、LinuxでもGUIはC#でいいかなと思ったものです。

投稿2016/11/13 05:11

catsforepaw

総合スコア5938

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoshi_yoshi

2016/11/13 07:59 編集

(済みません、削除しました。)
yoshi_yoshi

2016/11/13 07:57

失礼いたしました。MasahikoHirata様へのコメントをこちらに書き込んでしまいました。 以下改めて投稿させていただきます。 (1) 説明が悪く申し訳ありません。もしLinuxの同じバージョンのOSが長い間使えるのだとしたら、アプリをそんなに頻繁に作り変えなくて済むのかなと思い、質問させていただきました。Windowsの場合は、OSのサポートが比較的短期間で変わってしまい、前のOSのライセンスもすぐに買えなくなってきますので、古い装置のパソコンが壊れた場合などに困る事がありました。しかし、Linuxもライセンスの問題はないにしても、ハードウェア上ずっと同じバージョンのLinuxで対応できるかどうかは疑問ということですね。 ありがとうございます。大変参考になります。 (2) MonoDevelopというソフトウェアを使えば、Linuxパソコン上でVB.Netを使ったLinuxアプリの開発が可能という理解で合っておりますでしょうか。 いろいろと教えていただきありがとうございます。
catsforepaw

2016/11/13 15:08

> もしLinuxの同じバージョンのOSが長い間使えるのだとしたら、アプリをそんなに頻繁に作り変えなくて済むのかなと思い、質問させていただきました。 LinuxでもOSのバージョンが上がればアプリも「作り替える」ことはしないまでも、新しい環境での再ビルドや互換性のテストは必要ですし、それはWindowsでもまったく同じです。フリーウェアのサイトを見ると、対応OSが書かれていると思いますが、そのOS毎に作り替えているわけではなく、動作確認をして互換性のテストをしているのです。 また、勘違いしていらっしゃるようですが、サポート期間はWindowsの方が遙かに長いです(有料ですから)。Linuxはサーバー向けはともかく、デスクトップ向けだとサポート期間はリリース後せいぜい1年程度です。Ubuntuだとデスクトップ向けでもサポート期間5年のものが定期的にリリースされていますが、それでもWidnows(10年)より短いです。 > MonoDevelopというソフトウェアを使えば、Linuxパソコン上でVB.Netを使ったLinuxアプリの開発が可能という理解で合っておりますでしょうか。 合っています。
guest

0

ベストアンサー

’(1) Linuxを使う利点について ’
Windows及びLinuxにはそれぞれ一長一短があります。また’半導体装置を作っている会社’であるという事を考慮しますと、恐らく今までの開発ではWindows Embeddedが多かったのだろうと勝手に解釈して考えてみますと、単純にWindowsが良い、Linuxが良いという回答にはならないだろうなぁ。と思います。
また制御系として観た場合に、周辺機器との接続で必要なドライバー及び制御ソフトの有無もあるでしょうし。機器取付のPCのOS選択の範囲も制限があるでしょうし。

機器変更の際の対応についても、基本的に元ソースが有ってリビルトが出来る状態が良いのでしょうけど。

’(2) WindowsアプリからLinuxアプリへの移行について’
全て試している訳ではないので、予想される心配について記載します。
Windows固有の部分の一部は動作しないと思います。アプリからOSへのアクセスをエミュレートして?動作させているでしょうし。

製品としての開発と考えるとC++などを学んで、ターゲットに適した環境を構築するのが理想ではないでしょうか?Windowsで出来ていたことがLinuxではどのように実現できるか?を考えるだけ。しかしエミュレート環境ではLinuxの普通では動くが、エミュレーターでは動かない。という事が1つも無いとは断言できませんし、それに時間を割くのは無駄が多くなるような気がします。

投稿2016/11/13 03:00

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoshi_yoshi

2016/11/13 07:56

御回答ありがとうございます。情報が不足しており失礼致しました。 (1) Windows Embeddedは使っておらず、装置側の制御はPLC(プログラマブルロジックコントローラ)にて行なっております。パソコンのアプリはPLCとやり取りしているだけの構成となります。(ログの表示やユーザインターフェースをアプリ側で持っています。) WindowsかLinuxかはそんなに単純ではないのですね…。Linuxにするにしてもシステムを構築するまでがかなり大変といった感じでしょうか。 それはある程度は覚悟しているのですが、一旦システムが出来上がった後では、OSとアプリの使い回しという意味ではLinuxの方が有利なのでしょうか。 実は、装置のパソコンOSとして、以前はWindowsXPを使っており、アプリはVB6で作られていました。しかし、客先のWindowsXPが壊れてしまうと、WindowsXPのパソコンやOSは現在はもはや入手できない為、Windows7やWindows8のパソコンを入手し、さらにVB.Net 2005で作り直したアプリをインストールして対応することとなりました。 Linuxでは、この様な事は起きにくいと考えてよろしいでしょうか。 例えば、CentOS 6のLinux OSはWindowsの様にサポートが終了したり、ライセンスが入手できなくなったり、といった問題はないと考えておりますが、その認識で合っておりますでしょうか。Windowsと違って、CentOS 6などのOSを長く使い回しできる、Windows OSよりも寿命が長いと考えてもよろしいのでしょうか。 それとも時代と共にパソコンのハードウェアが新しくなっていくと、Windows OSと同様、近い内にCentOS 6などのOSも使えなくなってくるのでしょうか。 (Windowsの場合は、例えば最近買ったパソコンにWindowsXPを入れようとしてもハードウェアがXPに対応していない為か、入りませんでした。) 質問ばかりで済みません。 (2)そうですか…やはりC++なのですね。懸念点まで教えて頂きありがとうございます。大変参考になります。
MasahikoHirata

2016/11/13 08:09

'Linuxでは、この様な事は起きにくいと考えてよろしいでしょうか。'いいえ。起きると覚悟した方が良いかと。何か起きた場合の時はどうします?’CentOS 6のLinux OSは’商用のものでも過度の期待はだめです。 当方もPLCにラダ図ーなど客先の要望で使います。(本業ではないけど。当方も半導体に近い仕事なので。PLCでもファームに於いては使えなくなります。重要なのは’どんな処理’という事で)また対象となるのが専用機で汎用機でない。またその機械の製造は’機械屋’さんで、電装関係は’電気屋’さんなので。現場では機械が止まるのが最悪で、’知らない’ではすまされない事も。
yoshi_yoshi

2016/11/13 08:42

そうなんですね。リスクの方はあまり深く考えていませんでしたので、大変勉強になりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問