TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Cocoa developer here. What APIs/tools for writing a commercial Windows app?

6 点作者 GeneralMaximus将近 14 年前
Hello.<p>I've been writing Mac OS X desktop applications with Cocoa for quite a while now. I like Objective-C immensely and enjoy developing with Xcode. The best thing about developing for the Mac is that there is a single "official" API and a single set of development tools, which means I don't have to spend time picking a toolset, language and API.<p>Now I want to jump into Windows development. I was not a big Windows fan back in the XP era, but I like Windows 7. C# and Visual Studio are great. A friend -- also a Mac developer -- and I have an idea for a desktop application both of us sorely need, but we cannot decide what API we should use to write our UI.<p>There used to be Windows.Forms, but that's deprecated now. I've heard rumors about Microsoft deprecating WPF over Silverlight in Windows 8. Is this true? Doesn't Silverlight just use a subset of WPF?<p>Windows 8 will also provide a way to write applications using HTML and JS, so there's that.<p>Now we're thoroughly confused. Deciding between different versions of Windows and Visual Studio was hard enough, but I believe we made the right choices there. This one is a doozy, though. We don't want to spend 6-8 months writing an application just to have Microsoft deprecate the API we use.<p>I wouldn't even have dreamed of asking this question if our app was just another CRUD app. But UI is a huge part of what we're planning, so we want to make the right choices there.<p>Help?<p>EDIT: formatting.<p>EDIT 2: more formatting.

6 条评论

architgupta将近 14 年前
Great question.<p>I have tried to understand this myself without a good answer.<p>Google chrome UI team had an article on how they didn't find good user controls or windowing system for Windows and had to write everything from scratch. The chromium source was way too complex for our needs so we ended up not exploring it.<p>Still open source GUI code. (So good open source GUI code in Windows has been hard to find, but that's a good bet).<p>You probably want your app to run on both XP and 7 ?<p>8 is vaporware as a target platform for releasing and scheduling purposes.<p>We started with Windows Forms for our work because we were familiar with the code. (We did use MVC pattern using MVCsharp). We <i>meant</i> to switch to WPF but we never made the leap. There are UI-controls you can buy (with source) which you can use as plug and play. There are a few popular vendors.<p>Windows Forms still look ugly (lipstick on a pitbull kind of thing)<p>WPF is supposed to be a panacea with XAML being markup and that letting you generate "fluid-UI" just like HTML with auto-resizing and scaling as in the browser for your web-app.<p>I'd explore WPF and figure out a MVC-pattern library for separation of concerns.<p>Hope this helps.
评论 #2904673 未加载
paulbatum将近 14 年前
There are many people out there wondering the same thing - the Win8 HTML/JS announcement has thrown the rumor mill into a frenzy.<p>My advice - wait one month for BUILD (<a href="http://www.buildwindows.com/" rel="nofollow">http://www.buildwindows.com/</a>).<p>(disclosure - I work at Microsoft)
评论 #2907214 未加载
runjake超过 13 年前
Pick up Visual Studio Express (Visual C# Express) for starters:<p><a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express" rel="nofollow">http://www.microsoft.com/visualstudio/en-us/products/2010-ed...</a><p>If you have a .edu or other edu-type email address, sign up for the DreamSpark program and get a bunch of software for free at <a href="http://www.dreamspark.com" rel="nofollow">http://www.dreamspark.com</a>.<p>Windows Forms is NOT deprecated, nor is WPF.<p>The good news is that you can jump in anywhere and the skills you learn will help you down the road. WinForm and, even moreso, WPF programming will help you if you wish to jump into Silverlight.<p>It's all the same crap and you'll be able to transition easily. I've been playing with WPF and Silverlight as of late. Perhaps you should start with WPF.<p>You can write your app in whatever today and it probably won't be deprecated for at least a decade, but in the current eco-system of WinForms/WPF/Silverlight it's pretty easy to transition code if you keep it clean.
Corvus将近 14 年前
There are many graphics APIs for Windows. Which one is best for you depends entirely on what kind of application you are building, which you have not told us.<p>I would not worry about Microsoft deprecating an API in "6-8 months". Microsoft has been extraordinarily diligent in maintaining old APIs; I know of new desktop application development being done in WinForms, and 20-year old 16-bit MFC applications that are still being used.<p>If you are building an application now, choose the best API now. Do not worry about what will happen in 6-8 months, because by then there will be another new API coming. Waiting for the ultimate API means you will never start.
OzzyOsbourne将近 14 年前
I don't want to sound like a live-free-or-die-hard FOSS fanboy (even though I am), but, you could always use an open toolkit like Qt or GTK. They're ubiquitous, and especially in Qt's case, totally customisable in terms of look &#38; feel. Microsoft can't perform any cathedral-style deprecation (cannibalization) to these toolkits.
评论 #2906219 未加载
gspyrou将近 14 年前
My suggestion would be to use Silverlight :<p>1.Single codebase between Mac &#38; Windows<p>2.Out of browser support<p>3.Rich UI capabilities <a href="http://www.silverlight.net/showcase" rel="nofollow">http://www.silverlight.net/showcase</a><p>Seeismic Desktop 2 is a good example .