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

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

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

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

5回答

3472閲覧

個人開発する際の開発環境や使用言語について

Natthy

総合スコア10

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

2クリップ

投稿2019/08/28 14:19

#WindowsアプリやAndroidアプリを個人で作成するには、どのような環境や言語、ツールを用いるべきなのでしょうか。

私はこれまで、受託の制御系開発(C言語中心)に携わってきました。
ですが、自分で作りたいものを設計し、環境を構築し、アプリケーションを作る様な経験が一切無いので、
個人開発でアプリケーションの開発に取り組んでみたいと思っています。
また、IoT系など「より高いレベル」の新しい案件に参加するために、
職場でのPRに個人開発の経験を活用できれば、との思いもあります。

しかし、これまでGUIの開発やアプリケーション開発の経験が一切ないため、
お恥ずかしながら「何から手を付ければいいのか」すら分からず、手が止まってしまっています。
個人開発としてアプリケーション開発を行う際に、
どのような環境や言語を用いて、どのように進めていくべきなのか、
ご教示をいただけますでしょうか。

##●技術・知識レベル

  • C言語は不自由なく使うことができます。
  • C以外の言語、オブジェクト指向、APIを用いた開発やGUIの開発、Web系開発やDB設計周りには経験が有りません。情報処理技術者試験レベルの概念と用語が分かる程度です。
  • 開発環境はHEWが中心だったので、VisualStudioなど今風な統合開発環境は触っていません。
  • Gitも触ったことがありません。Githubはアカウントは作ったものの、全く使えていません。

##●長期的にやりたい事

  • 一つの目標として、ボイスチェンジャーのような音声を加工するアプリケーションを作りたいと思っています。(学生の頃は音声処理のゼミに居たので、音声処理のドメイン知識は持っているため)

  • まずはwindowsアプリケーションとして開発し、その後は仕事でも活かせる技能習得を兼ねてクロスプラットフォームに取り組みたいと考えています。ですが、XamalinやFlutter、Qtなど調べれば色々出てきますが、どれが適しているのかが分かりません。

  • C言語開発だけでは今後のキャリア形成面でも不利だと思うので、流行りの言語を使った開発をしたいと思っています。Pythonを使ってみたいと思っていますが、目標に対して適した手段なのかも分からずにいます。

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

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

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

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

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

Zuishin

2019/08/28 14:31

作りたいものの作り方を調べれば、自然とそれに適した言語がわかるはずだと思うのですが。 Windows のデスクトップアプリケーションであれば、C# で Windows Forms が手軽です。しかし Windows Forms はいささかレガシーなので、少しハードルは上がりますが、WPF もしくは UWP を選ぶという選択肢もあります。 C 言語が何不自由なく使えるレベルであれば、モデル部分については問題ないと思いますから、難所となるのはビュー部分だろうと思います。ここはデータバインディングを使いこなさなければいけません。
guest

回答5

0

Gitは頑張って覚えましょう。ネットに使い方の解説は山ほどあります
そして、VisualStudioの無料版を入れて、C#を勉強しましょう。
これもネットに解説は山ほどあります

がんばってください。

投稿2019/08/28 14:30

y_waiwai

総合スコア87774

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

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

0

ベストアンサー

クロスプラットフォーム見据えてWindowsアプリも開発したいんならXamarin.Formsあたりから手を付けたら良いんじゃないですかね。Visual Studio使うんならGitHubでのソース管理もコマンドでやる必要が殆どないから苦労しないだろうし。

サーバーサイドは何でも良いと思うけど、スキルの幅を広げたいなら敢えて.NET系じゃなくてNodeとかGoとかPythonとかで作ってみたり。とりあえず触ってから細かい部分を覚えていけば良いんじゃないですか。

単に流行りが知りたいだけなら適当にGoogle Trendsでも使って調べてみてください。

投稿2019/08/28 14:25

gentaro

総合スコア8949

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

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

0

Windows アプリと Android アプリでは、開発方法が異なります。

・ Windows アプリ
開発環境:Visual Studio
言語:C#

学習コストの低い「Windows Forms」で開発することをおすすめします。

クロスプラットフォーム開発は熟練者でも難しいところなので、Windows アプリの開発に慣れてから考えれば良いと思います。

また、「音声を加工するアプリケーション」を目標にする場合、Python は使わないような気がします。

・Android アプリ
開発環境:Android Studio
言語:Kotlin

投稿2019/08/29 04:37

nskydiving

総合スコア6500

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

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

0

こんにちは。

私はQt(C++)でWindowsとMacのマルチプラットフォーム対応アプリを開発しています。
Qtのマルチプラットフォーム能力は結構高いです。今の所、これを越えそうなC++によるGUI開発可能なマルチプラットフォーム対応ツールはないだろうと強く感じています。
大量高速なデータ処理を行うためにC++はかなり適していますし、C言語を使いこなせているのであればC++を実使用可能なレベルでマスターできるのは確実と思います。

また、QtとC++はJavaやC#より多くのプラットフォームに対応しています。そして、この分野の技術者不足も今後拡大していきそうです。QtとC++をマスターしている人が他の C++と文法が似ている言語を学ぶのは至極容易です。

ですので、QtとC++はお薦めです。

なお、生産性という意味では、QtとC++の組み合わせを超える言語(JavaやC#など)は存在します。
速度と稼働可能なプラットフォームの制限はありますが、これらも優れた言語ですが、学習難易度はかなり低いですので、必要が生じたらトライでも十分と感じます。

あ、Gitはぜひ使って下さい。生産性がかなり上がります。svnよりもかなり上がると思います。やはりその分難易度高めですが、C++ほどではないですし。


【蛇足ですが】
C++は高速なプログラムを短時間で開発できますが、そのためにかかる最大のコストは学習コストです。
本当にC++の学習難易度は高いです。全てをマスターしようとすると挫折しかねないので、ご自身が有用と感じた機能を優先的に学習し、ある程度学べたら直ぐにプログラム開発してみることがお薦めです。

何が一番有用かというと、やはりオブジェクト指向プログラミングの部分でしょう。C言語のstructが超拡張されてC++のstructになっています。そして、C++のstructとclassは事実上同じものです。
頑張って下さい。

C++講座をやってますので、見に来てみて下さい。

投稿2019/08/29 03:46

Chironian

総合スコア23272

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

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

0

WinアプリならVisualStudio、AndroidアプリならAndroidStudioを使うのが一番です。
クロスプラットフォームで開発するには、クロスプラットフォームとネイティブ環境の両方の知識が必要になります。
メーカーが出しているネイティブ開発環境が一番素直ですから。

投稿2019/08/28 17:25

Wind

総合スコア442

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問