|
Not sure where you work but in the corporations that I have worked IT support services do not want normal users messing with the OS at all.
So, for example, I wouldn't expect that Munich IT wants the DMV users to alter how the work stations get updated.
|
|
|
|
|
Jeremy Falcon wrote: but one such example is recompile the kernel to remove uneeded code for a specific server environment
Been doing server side development for more than 20 years, including on unix systems. Never had a single need for that and never had a single unix developer suggest such a need.
Rather certain that employees of a city (Munich) using desktop machines would never have such a need either.
|
|
|
|
|
Jeremy Falcon wrote: However, you can do things with it that people only dream of in windows.
Such as?
I was using perl on a PC DOS box. PC DOS as in the precursor to Windows. Windows might have been in the Windows 286/386 version then but it ran on top of PC DOS so it would have support perl too. I have been using perl ever since on Windows boxes.
I have been doing raw socket access probably since about windows 95.
Java supported actual threads on windows boxes when it was first released unlike the horrible 'fork' implementations that existed on unix boxes and the ineffective pseudo thread implementation of 'green threads'.
|
|
|
|
|
swampwiz wrote: But in terms of using Linux as a day to day OS, NO WAY! To each his own; I'm not going to trade in a machine that "just works" for anything Microsoft.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
nobody takes OS advice from the City Of Munich
|
|
|
|
|
I've already summarized my own experience with Linux in a similar thread a good while ago, and it went along something like this:
When it works out of the box, it's a fine OS and you can probably learn a lot from it.
If it doesn't work out of the box or just starts misbehaving on its own - well, good luck. The problem is surely solvable, but you'll have to find just the right keywords to find relevant results on Google.
What helps in my case is that I mostly stick with VMs, and given that there is Microsoft code in the Linux kernel nowadays that allows it to run well under Hyper-V, it tends to be a good match and Linux "just works" with that known virtualized hardware.
The same can't be said however if you're using some Linux distribution that doesn't formally have Hyper-V support, or you're running on bare metal and happen to have some compatibility issue. At that point, that's when you start wondering why you're making this your problem ("you've got the source! Figure it out and submit a patch so we can all benefit from it!") rather than somebody else's.
|
|
|
|
|
I presume that the city is supporting the OS with their own staff.
I wonder how much they pay those people compared to the commercial market.
|
|
|
|
|
Ok, try not to laugh at the title. Right now, I assume there is no real future in WinForms. It's gonna be the next VB6 if not already, as in it'll hang around but people are gonna look at it funny. That being said, I just had a job interview with a guy who I really like. He's got an entrepreneurial spirit which I jive with. Right now, for the job, the main app in question that I'd be working on is an 8 year old product based on WinForms.
Should I get the job, and to plan for the future... I know WinForms isn't going anywhere. But for the big picture, think 10 years from now... we all know .NET Core is being shown the love. So, my question is, if I wanted to write a Microsoft-backed thick client application in C# that's possibly cross platform... what options do I have? I know Xamarin is one. Is that the only one?
And of course, there's things like wxWidgets, Qt, and even GTK+ with C# bindings, but is Microsoft cooking up some Windowing/GUI juju meant to be cross platform that I just don't know about yet? Like most LOB apps, this is a MS-centric shop, so I'm just curious to know what the latest buzz is on the geek street.
Jeremy Falcon
|
|
|
|
|
Anything where the UI is specified via XAML is probably a good idea, even WPF (it's less deprecated than WinForms ).
Universal Windows Platform[^] might also be a starting place.
Software Zen: delete this;
|
|
|
|
|
Yeah I thought about WPF. Being a web guy, I like declarative UIs too. But, in the interest of cross platform I'd doubt that's ever gonna be ported since it'll be a cold day in hell before MS uses OGL for a rendering pipeline.
Then again we have SQL Server on Linux now, so who knows.
Jeremy Falcon
|
|
|
|
|
Do I sense some ego here? If the app was successful in WinForm for 8 years, it may be in the right platform. I don't look at any applications and question they should all be in the web platform or cross platforms. The app's platform depends on its purpose. I'm having to rewrite web-based applications into desktop, and yes it is rewritten in Winform, and some from desktop to web. Unless the application has broad customer base where it may specifically call for cross platform, stay where it is safe.
|
|
|
|
|
Jeremy Falcon wrote: he main app in question that I'd be working on is an 8 year old product based on WinForms. If you're tasked with writing new UI components, you could build them in WPF and host them in the existing WinForms app.
FWIW, I'm in the process of porting this[^] WinForms app (30K lines of code) to Android, and later iOS. I'm using Xamarin to build a native UI and 99% of the business and persistence layer has been portable without any changes. One of the huge wins using Xamarin is that a user can take their desktop database file and plop it onto their Android device (and vice-versa) with no problems. (In reality, they don't have oto do this manually. I've written a cloud backend that lets them sync their data between the desktop and mobile versions of the app.)
I'm a big fan of WinForms and Xamarin and not ashamed to say it. The productivity gains are awesome.
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: If you're tasked with writing new UI components, you could build them in WPF and host them in the existing WinForms app. That's a thought, although it would be nice to find something cross platform. Anyway, this is all food for thought. I don't have the job yet, and if I get it there are things taking a higher priority for the moment. But I do like knowing my options.
Ravi Bhavnani wrote: FWIW, I'm in the process of porting this[^] WinForms app (30K lines of code) That's cool man. I remember this app. It's neat.
Ravi Bhavnani wrote: I'm a big fan of WinForms and Xamarin and not ashamed to say it. The productivity gains are awesome. I'm just fishing for options to know what's out there. It's not so much about shame as it's just seeing what's out there. So many tech people insult every decision ever made to try and sound smart; that's not what I'm doing. Just wanna know what's out there.
Jeremy Falcon
|
|
|
|
|
Ravi - I'd love to hear how truly "cross platform" your Xamarin application is. Are you able to run on Windows / Mac / Android / iPhone / Linux ?
My understanding is the C# business logic translates, but not the UI or XAML. Can you confirm from your experiences?
<hr>
"Qulatiy is Job #1"
|
|
|
|
|
The C# business logic and persistence layer is almost 100% cross-platform compliant, thanks to Xamarin, which means I don't have to do much more than smoke testing on the Android port, since the codebase is mature and has an existing suite of tests.
The Android UI is a brand new effort and isn't cross-platform, because I decided I want to learn Android from the ground up before I consider using Xamarin Forms as an abstraction layer. If I decide to port my app to iOS (likely), I will first write a native iOS client for the same reason.
I'm only considering Windows, Android and iOS as target platforms.
/ravi
|
|
|
|
|
If you don't mind my asking, how do you connect the compiled Xamarin C# code to the UI layer in Android? Do you connect the layers like you might with a DLL resource in windows?
<hr>
"Qulatiy is Job #1"
|
|
|
|
|
Since both the Android UI layer and the legacy business logic and persistence layers are all written in C#, there's nothing special I need to do. I chose to put all the code in a single assembly (the Android executable) for now. When I (eventually) get around to building the iOS app, I'll move the non-UI code to a separate assembly that will be consumed by both flavors of the app.
/ravi
|
|
|
|
|
Much thanks!
<hr>
"Qulatiy is Job #1"
|
|
|
|
|
No problem. Happy to chat offline if you have more questions. You can find me on LinkedIn.
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: FWIW, I'm in the process of porting this[^] WinForms app (30K lines of code) to Android, and later iOS. I'm using Xamarin to build a native UI and 99% of the business and persistence layer has been portable without any changes. I would consider it a great goodness if you were to publish CP articles, or blog, about the process, the hurdles, the "gotchas," etc.
So far, I've read mainly negative articles and posts about using Xamarin Forms.
thanks. Bill
«While I complain of being able to see only a shadow of the past, I may be insensitive to reality as it is now, since I'm not at a stage of development where I'm capable of seeing it. A few hundred years later another traveler despairing as myself, may mourn the disappearance of what I may have seen, but failed to see.» Claude Levi-Strauss (Tristes Tropiques, 1955)
|
|
|
|
|
Hi Bill,
I'm using Xamarin.Android and not Xamarin.Forms to port my app. I used XF to build the Android half of an Android/iOS prototype about 3 years ago and found it to be quite powerful at the time, but haven't touched it since.
/ravi
|
|
|
|
|
Quote: So, my question is, if I wanted to write a Microsoft-backed thick client application in C# that's possibly cross platform... what options do I have? I know Xamarin is one. Is that the only one?
Cross Platform in a business depends on business decisions....winforms is pretty mature and has a historical component source as in third party controls and components...so its a good think if you can flex ... cross platform there is WinForms | Mono[^]
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
abmv wrote: Cross Platform in a business depends on business decisions.... That's a given. And having been involved with the business for years in my career, this is something I already know. However, it's up to the tech people to know about the tech that's out there, so we can communicate this to the business to help them make a better decision. Thus, I'm fishing for info.
abmv wrote: winforms is pretty mature and has a historical component source as in third party controls and components VB6 is also mature. Doesn't mean I'd use it 10 years from now.
abmv wrote: so its a good think if you can flex ... cross platform there is WinForms | Mono[^]
My understanding of this is it's not feature complete. Granted, I've never used Mono WinForms so maybe things have changed. It's worth looking into again no less. Thanks.
Jeremy Falcon
|
|
|
|
|
VB6 actually is not used much...
Considering the amalgamation and proliferation of JavaScript there is something interesting called Electron | Build cross platform desktop apps with JavaScript, HTML, and CSS.[^] that could be a basis for architecture modern apps while maintaining less or more build complexity.
Rather just code for MAC and iphones .. haaa..
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
abmv wrote: VB6 actually is not used much... That's my point.
abmv wrote: Considering the amalgamation and proliferation of JavaScript there is something interesting called Electron | Build cross platform desktop apps with JavaScript, HTML, and CSS.[^] that could be a basis for architecture modern apps while maintaining less or more build complexity. Going web is something I've strongly considered. I'm just fishing for options.
Jeremy Falcon
|
|
|
|