Over the years Microsoft has tried quite a few things on the web that quite simply have had varying degrees of success: - ActiveX (dead) - VB6 Web-Classes (dead) - ASP.NET WebForms (more dead than alive) - Silverlight (dead) - ASP.NET MVC / Razor (still-around but long in the tooth) - Blazor (we'll see) Everything before ASP.NET MVC, IMHO, was not in line with the way the web worked. It almost seemed as though Microsoft tried to create a Win-Forms based thinking for the web. Web-Forms attempted to place an object model around HTML which was admirable but probably quite unnecessary. With MVC one could even replace the view engine but that never *really* took off. The web is a funny environment but I quite like it. I prefer writing web-based applications. The ecosystem is huge and as soon as you move away from it you are creating a parallel universe. When you play on the same field then you are going to find a lot of support. This is why I don't even use Visual Studio for web-based work. I used to use WebStorm but VSCode is just great for folder-based development. Should Blazor integrate seamlessly with any coming WebAssembly bits then it stands a chance. I don't think I'm really sold on WebAssembly yet as plain JavaScript gets the job done. I don't even bother with TypeScript although should I have to use it then fine. I'll probably like it :) For now I'll take a wait-and-see approach.
EbenRoux
Posts
-
Opinions on Blazor -
How NOT to calculate the end of month...Not to be pernickity but I guess it is going to depend on the intention of the method. If a trial runs for a month then perhaps from a given date that would be the end of the month :) However, the intention is not clear from the method name so one may very well assume that it represents the date for the last day in the month of the given date.
-
When the arrogant know-it-all in your team is not you. - UPDATEI think it was on 9gag that I read something to the effect of first providing the police with an anonymous tip about a buried body at a certain location. After the police have dug up the spot and found nothing there you *then* go and bury the body in that exact spot. Chances are they are not going to be digging up that same spot again. Let me know if that worked for you :)
-
Offline web appsBeen catching up on my CodeProject daily news and came across your question. I did some work a couple of years ago on a single-page application written in ember.js and we had a requirement for the application to work in an "offline" mode. Once the user had logged onto the system they could enter offline mode and only offline modules would be available. We used node.js to host a local rest api that would then be able to access local resources to save the relevant messages/data since we had the same issue with localstorage being cleared and couldn't have our messages disappear. The SPA was then also locally hosted and communicated with the node rest api (we used restify). It appears as though node.js is available for mobile devices now also so perhaps you could consider something along the lines of a locally hosted web-site that uses the rest api as a store-and-forward mechanism.
-
AI: Threat or panacea?Very interesting topic! People are a threat to themselves. When people have control over objects that can harm them then they better be careful and focus on what they are up to. This applies as much to AI as to a gun, knife, or a lathe. I regard AI currently as more of an advanced pattern recognition system and since I have witnessed first hand how the average software developer struggles to even get CSS to jump through the correct hoops I am not too worried about some self-conscious AI going berserk. Of course, if those same programmers are going to be fiddling with code that launches tactical nukes then I would be a bit more worried. I will also be driving my own car for now, thanks Elon. As you have alluded to there are more fundamental issues that we need to solve before even getting to anything that is going to approximate awareness or, heaven forbid, self-awareness. We know we have matter and we know we have consciousness. If consciousness is as a result of some configuration of matter then it is something we can cook up in a lab. However, if matter was somehow "created" by consciousness or is somehow "experienced" as "real" then it is a whole other affair. A simple concept such as "size" would seem to me to be problematic. If some mean-spirited self-aware AI were to create robots to annihilate us then exactly how "big" would these be? It would need to understand something that we all take pretty much for granted. It is a similar conundrum with the evolution of wings: how on earth would wings sprout out of no knowledge of how "thick" the air is and how "big" the wings need to be in order to lift the bird? If it is a matter of chance then what records this monumental event in the DNA that produced "wings" that could have the bird fly and then also keep those same wings around in the same configuration? Would another pair of wings not be even better? I mean, we have this in software development: "Oh, a 5 page document resulted in a successful system... then 100 pages would be even better!" For now I'm quite happy to have AI spot faces and listen to requests for stuff. Especially the voice recognition is handy for kids that can't yet write/type what they are after but they know that they would like to see a "fan collection".
-
Domain Driven Design and Spherical cowsWell, I feel that for the most part the "tactical patterns" of DDD are simply OO done right :) I do, however, feel that when developers do *not* have access to domain experts we end up with second hand information (or worse) which simply contributes to the sad state that the software development industry finds itself in.
-
How much do you pay for your internet?I live in South Africa (Johannesburg): 20Mb Fibre @ R850 which at the current exchange rate of 15,34 (7 Sep 2018) == USD 55.41 BOOM! And that is cheaper than the 10Mb ADSL I used to have :(
-
To ORM or not to ORM...not to ORM :)
-
What is your WHY in CODING?I started programming in 1984 (standard 4 / grade 6 - age 12) on a Commodore VIC20. I just always enjoyed it. Couldn't believe that one could get paid to do something so enjoyable :)
-
Javascript brace style - THAT discussion probably againPerhaps someone has mentioned this but haven't read *all* the responses :) There is actually a bit of a caveat with JS: it terminate some lines automatically (like an invisible semi-colon) Open your browser and go to the dev-tools (typically F12) and enter the following:
var f1 = function() {
return {
value: 'the-value'
};
}var f2 = function() {
return
{
value: 'the-value'
};
}Now have it execute
f1()
and then
f2()
. You'll quickly see the difference :) It is better to stick with the "standard" with braces on the same line. For my C# code it's is quite different.
-
It can't be helped.Hi, I would highly recommend these[^] videos by Douglas Crockford. I have been using JavaScript off-and-on since the late nineties but there are a lot of caveats. An "interesting" language and things have been changing quite a bit with module loading and the like. Once you get the hang of it you'll want to probably get going on one of the MV* frameworks. I have used Ember.js (3 years) before but currently I prefer CanJS[^] as I like the design and the fact that it is more library-focused and not so much a framework. Regards, Eben
-
What's this called in English?In South Africa we also use Labour brokering[^]. This *usually* indicates that the person providing the actual work is not permanently employed by anyone. When we actually are *employed* by company A but provide work to company B then company A is referred to, in most instances, as a consultancy and the person doing the actual work is regarded as a consultant. Currently I work directly for a company on contract so I am an independent contractor. I have been everything :) "Outsourcing" refers more to what company B is doing in obtaining services from either a labour broker, consultancy, or contractor. That how things roll in SA in any event... Sometimes concepts just don't translate properly as a bit of the meaning gets lost along the way.
-
.Net LoggingI recently came across instructions showing one how to legally download Photoshop CS2 along with it's key :) I don't currently need anything more advanced than that. The short version is to create an account on the Adobe site, search for CS2 and download with key...
-
.Net LoggingI have a simple logging interface that I use: Shuttle.Core.Infrastructure/Shuttle.Core.Infrastructure/Logging at master · Shuttle/Shuttle.Core.Infrastructure · GitHub[^] I also have a Log4Net implementation: GitHub - Shuttle/Shuttle.Core.Log4Net: Log4Net ILog implementation.[^] I like Log4Net but with the logging abstracted away you can use anything from simple to advanced.
-
How to help students with: taking the assignment too literallyPerhaps I may still be missing something but if you are asking how to get people to see the "big picture" and look past the initial, literal assignment then good luck :) I guess this comes with experience and I have come to the conclusion that quite a bit of this "programming" of ours falls into the category of tacit knowledge. I guess since it is more of a creative synthesis of sorts. Also falls in quite nicely with the "Dreyfus model of skill acquisition" at the "Novice" level. Anyhow, I think you basically have to wait for the penny to drop.
-
Why are all browser logos round?*That*... plus I find that round things tend to roll better.
-
My Theory on why Javascript is winningMmm... this certainly is interesting. I have been thinking for a while now that I would like to port my service bus from C# to node. I have some elementary node experience but ample JavaScript. Then I thought to myself: "What would be the point in having a C# alternative when anyone can run the node version?" I'll have to see where I end up :)
-
The Open-Source software approach: let them eat pixels ?I have to agree that there is no attitude in the post. One *can* certainly read it with an attitude in mind :) However, if you *did* pick up a bit of attitude it may not have been the intention at all. This is a problem with writing things. Depending on the mood or view of the person reading it they may misinterpret it. I also have some open-source projects going (Shuttle)[^] and I try my utmost not to offend. However, the issue may have been left open and marked as "help wanted". Any help with these things really is appreciated :)
-
Need Help Catching Up .... But With What?I started out with VB3 all the way up to VB.NET. Got me a VB5, VB6, VB.NET MCSD with that last on on .NET 1.1 in 2003. Lots of SQL. Similar development story to yours. In 2007 I moved over to C# exclusively. Previously had code-generated DAL. I went on a mission to improve my development skills and ditched all the code-generation. Probably can still do some code-generation although I don't churn out so much DAL code anymore :) I got stuck into domain-driven design and with find that it really does address proper code and strategic structure. It is *very* difficult to find folks applying domain-driven design and even less doing it correctly. U also ventured into the service bus / messaging space. My opinion is that web-development is probably going to be the way to go. Once browsers are all up-to-scratch some native mobile apps could possibly be web-based. Always an issue accessing local resources though. I started reading a WPF book years ago and quickly decided that this, along with its second-class citizen sister Silverlight, are going to have a tough time breaking into the mainstream. What I would regard as my ideal stack / approach would be: - domain-driven design - No ORM - event-sourcing - service bus - web-api / rest - web-based front-end using some MV* technology such as CanJS. I have used Ember and *it* was painful. I have created some open-source software during this journey: - service bus: shuttle-esb documentation[^] - samples: https://github.com/Shuttle/shuttle-esb-samples - data access: GitHub - Shuttle/shuttle-core-data: Provides a very thin abstraction over ADO.NET.[^] Hope that helps.
-
A quote : why software devs are happier (or not).Are you perhaps referring to this :) George Carlin (more than happy)[^]