Re: Creating a browser-based product

2017-11-28 Thread Nathan Schultz
As a .Net programmer, if you detest Javascript (as I do), you can also use
F# and Fable to write single page web-applications. It won't save you from
the vagaries of HTML and CSS though - you still need to know this.
I personally use Elm (which is similar to F# + Fable) - but it's far more
bullet-proof (run-time errors are exceptionally rare), although you're no
longer in the Microsoft eco-system (for better or worse).

If you're writing web-applications for a company though, I still think
Angular or React is the easier sell to management; yes it's more complex,
more clunky, and will take longer to write - but at least finding other
Angular or React resources is fairly trivial.

On 29 November 2017 at 13:53, Greg Keogh  wrote:

> I strongly recommend this course: https://app.pluralsigh
>> t.com/library/courses/angular-fundamentals/table-of-contents
>>
>
> Thanks, I've watched about an hour so far. They seem to use a more
> *classic* approach with a simpler project structure, and they use VS Code
> instead of Studio so there's no projects and solutions.
>
> The amount of unusual markup required to plumb all the parts together is
> really irritating. This is a very complex infrastructure just to render an
> app browser-side. I blame the JavaScript language for this as it lacks
> everything one would expect in a modern robust language ecosystem.
> Everything looks like a hack, workaround or add-on just to hoist the whole
> vast slogging mess up to make it work. I'm still not impressed.
>
> *Greg*
>


RE: Creating a browser-based product

2017-11-28 Thread Tony Wright
It really comes down to what you are trying to achieve. If you are writing
an enterprise app, then you want an opinionated framework where most of the
decisions have been made for you.

That's usually because you want the ability to hire people that have the
required skill and can hit the ground running. They don't have to learn
your unique structure first.

Angular (and Aurelia) do this, but React and Vue are only the view layer,
so you will need to build up the tech stack yourself. I have heard people
say that no two React applications are the same.

Of course if you're writing something smaller, then you have a lot more
latitude to choose whatever you want.

On 29 Nov 2017 5:05 PM, "Nic Roche"  wrote:

> Hey Will,
>
>
>
>- From what I've been reading, vue.js would be much quicker to pick up
>compared to Angular which has a much steeper learning curve.
>
>
>
> Vue in its simplest (vanilla JS) form, yes.
>
>
>
> To do anything more complex, you need to use the Vue CLI/toolchain.
>
>
>
> Once you hit this point, I find the latest approach in Angular more
> intuitiveā€¦
>
>
>
> Regards,
> Nic Roche
>
>
> --
> *From:* ozdotnet-boun...@ozdotnet.com  on
> behalf of William Luu 
> *Sent:* Wednesday, November 29, 2017 3:43:45 PM
> *To:* ozDotNet
> *Subject:* Re: Creating a browser-based product
>
> Hi Greg,
>
> I've been following this thread a little bit. I'm a bit like you in that I
> haven't really been keeping up with the latest JS developments and am also
> looking at creating a new app soon which makes use of one of these new JS
> frameworks and am heavily leaning towards either React or Vue.
>
> I think this article is useful for getting to know what the various pieces
> of the modern JS world are (and what they do). https://medium.com/the-
> node-js-collection/modern-javascript-explained-for-dinosaurs-f695e9747b70
>
> From what I've been reading, vue.js would be much quicker to pick up
> compared to Angular which has a much steeper learning curve.
>
> Some more reading material:
>
>- https://medium.com/corebuild-software/vue-js-and-net-mvc-b5cede228626
>
>- https://laravel-news.com/jquery-vue
>- https://blog.kloud.com.au/2017/02/14/running-vuejs-on-
>aspnet-core-apps/
>- https://vuejs.org/v2/guide/
>- https://vuejs.org/v2/guide/comparison.html
>
> From my understanding, in your ideal world, you want to utilise your
> existing knowledge (ASP.NET MVC etc) and then add on a bit of JavaScript
> to make the page more interactive.
>
> Of course, this is just my opinion as someone who has no experience in any
> of these modern JS frameworks. I've chatted with a few guys who have
> experience with all 3, and their general consensus these days is towards
> Vue and React over Angular.
>
>
> Will
>
>
>
> On 17 November 2017 at 09:14, Greg Keogh  wrote:
>
>> Folks, we have a serious decision to make about the future directions of
>> our 10 year old Silverlight product that is in wide use in some big
>> companies. I told the boss I'd poll this forum for advice, so I'd really
>> appreciate serious comments from people in-the-know.
>>
>> The large companies using the Silverlight product are now locking down
>> security, so Internet Explorer is being banned and Edge adopted, which
>> means Silverlight is out (some employees are already being forced to use
>> the product from home). Our product is available as Xamarin authored tablet
>> and phone apps for three platforms, but they won't even allow our apps on
>> their company devices.
>>
>> So for the first time we are forced to produce a "browser based" version
>> of our product, which apparently is acceptable to their security policies
>> and audits. Here are some issues swirling in my head:
>>
>>- The backend services to drive the product are established.
>>- The UIs of other product versions are explorer (master-detail)
>>style, so it would be nice to maintain that feel in the browser.
>>- We have to display data in Excel-like tables and a variety of
>>charts (the richer and more interactive the better).
>>- Should we use server-side ASP.NET Web Forms or MVC to drive it?
>>- Should it be browser-side SPA? (you know I hate JS everything, so
>>there is personal resistance there).
>>- Could server-side and browser-side be combined to produce a better
>>hybrid experience? Are there things to help you do that?
>>- There are development platforms such as GTK and many others I guess
>>that I'm not familiar with. Are they viable?
>>- Other issues I'm forgetting?
>>
>>
>> I'm personally familiar with ASP.NET Web Forms and MVC, but not with
>> quality JS, layout or styling. Perhaps I could write a black-and-white
>> skeleton of the working product and then give it to someone to style and
>> script (I have done that once before).
>>
>> So in summary (I know this is a very broad 

RE: Creating a browser-based product

2017-11-28 Thread Nic Roche
Hey Will,


  *   From what I've been reading, vue.js would be much quicker to pick up 
compared to Angular which has a much steeper learning curve.

Vue in its simplest (vanilla JS) form, yes.

To do anything more complex, you need to use the Vue CLI/toolchain.

Once you hit this point, I find the latest approach in Angular more intuitiveā€¦

Regards,
Nic Roche


From: ozdotnet-boun...@ozdotnet.com  on behalf 
of William Luu 
Sent: Wednesday, November 29, 2017 3:43:45 PM
To: ozDotNet
Subject: Re: Creating a browser-based product

Hi Greg,

I've been following this thread a little bit. I'm a bit like you in that I 
haven't really been keeping up with the latest JS developments and am also 
looking at creating a new app soon which makes use of one of these new JS 
frameworks and am heavily leaning towards either React or Vue.

I think this article is useful for getting to know what the various pieces of 
the modern JS world are (and what they do). 
https://medium.com/the-node-js-collection/modern-javascript-explained-for-dinosaurs-f695e9747b70

>From what I've been reading, vue.js would be much quicker to pick up compared 
>to Angular which has a much steeper learning curve.

Some more reading material:

  *   https://medium.com/corebuild-software/vue-js-and-net-mvc-b5cede228626
  *   https://laravel-news.com/jquery-vue
  *   https://blog.kloud.com.au/2017/02/14/running-vuejs-on-aspnet-core-apps/
  *   https://vuejs.org/v2/guide/
  *   https://vuejs.org/v2/guide/comparison.html

>From my understanding, in your ideal world, you want to utilise your existing 
>knowledge (ASP.NET MVC etc) and then add on a bit of 
>JavaScript to make the page more interactive.

Of course, this is just my opinion as someone who has no experience in any of 
these modern JS frameworks. I've chatted with a few guys who have experience 
with all 3, and their general consensus these days is towards Vue and React 
over Angular.


Will



On 17 November 2017 at 09:14, Greg Keogh 
> wrote:
Folks, we have a serious decision to make about the future directions of our 10 
year old Silverlight product that is in wide use in some big companies. I told 
the boss I'd poll this forum for advice, so I'd really appreciate serious 
comments from people in-the-know.

The large companies using the Silverlight product are now locking down 
security, so Internet Explorer is being banned and Edge adopted, which means 
Silverlight is out (some employees are already being forced to use the product 
from home). Our product is available as Xamarin authored tablet and phone apps 
for three platforms, but they won't even allow our apps on their company 
devices.

So for the first time we are forced to produce a "browser based" version of our 
product, which apparently is acceptable to their security policies and audits. 
Here are some issues swirling in my head:

  *   The backend services to drive the product are established.
  *   The UIs of other product versions are explorer (master-detail) style, so 
it would be nice to maintain that feel in the browser.
  *   We have to display data in Excel-like tables and a variety of charts (the 
richer and more interactive the better).
  *   Should we use server-side ASP.NET Web Forms or MVC to 
drive it?
  *   Should it be browser-side SPA? (you know I hate JS everything, so there 
is personal resistance there).
  *   Could server-side and browser-side be combined to produce a better hybrid 
experience? Are there things to help you do that?
  *   There are development platforms such as GTK and many others I guess that 
I'm not familiar with. Are they viable?
  *   Other issues I'm forgetting?

I'm personally familiar with ASP.NET Web Forms and MVC, but not 
with quality JS, layout or styling. Perhaps I could write a black-and-white 
skeleton of the working product and then give it to someone to style and script 
(I have done that once before).

So in summary (I know this is a very broad question) ... if you were in my 
position, how would you proceed to produce a browser based version of a product?

Cheers,
Greg K




Re: Creating a browser-based product

2017-11-28 Thread Greg Keogh
>
> I strongly recommend this course: https://app.pluralsight.com/library/
> courses/angular-fundamentals/table-of-contents
>

Thanks, I've watched about an hour so far. They seem to use a more *classic*
approach with a simpler project structure, and they use VS Code instead of
Studio so there's no projects and solutions.

The amount of unusual markup required to plumb all the parts together is
really irritating. This is a very complex infrastructure just to render an
app browser-side. I blame the JavaScript language for this as it lacks
everything one would expect in a modern robust language ecosystem.
Everything looks like a hack, workaround or add-on just to hoist the whole
vast slogging mess up to make it work. I'm still not impressed.

*Greg*


Re: Creating a browser-based product

2017-11-28 Thread William Luu
Hi Greg,

I've been following this thread a little bit. I'm a bit like you in that I
haven't really been keeping up with the latest JS developments and am also
looking at creating a new app soon which makes use of one of these new JS
frameworks and am heavily leaning towards either React or Vue.

I think this article is useful for getting to know what the various pieces
of the modern JS world are (and what they do).
https://medium.com/the-node-js-collection/modern-javascript-explained-for-dinosaurs-f695e9747b70

>From what I've been reading, vue.js would be much quicker to pick up
compared to Angular which has a much steeper learning curve.

Some more reading material:

   - https://medium.com/corebuild-software/vue-js-and-net-mvc-b5cede228626
   - https://laravel-news.com/jquery-vue
   - https://blog.kloud.com.au/2017/02/14/running-vuejs-on-aspnet-core-apps/
   - https://vuejs.org/v2/guide/
   - https://vuejs.org/v2/guide/comparison.html

>From my understanding, in your ideal world, you want to utilise your
existing knowledge (ASP.NET MVC etc) and then add on a bit of JavaScript to
make the page more interactive.

Of course, this is just my opinion as someone who has no experience in any
of these modern JS frameworks. I've chatted with a few guys who have
experience with all 3, and their general consensus these days is towards
Vue and React over Angular.


Will



On 17 November 2017 at 09:14, Greg Keogh  wrote:

> Folks, we have a serious decision to make about the future directions of
> our 10 year old Silverlight product that is in wide use in some big
> companies. I told the boss I'd poll this forum for advice, so I'd really
> appreciate serious comments from people in-the-know.
>
> The large companies using the Silverlight product are now locking down
> security, so Internet Explorer is being banned and Edge adopted, which
> means Silverlight is out (some employees are already being forced to use
> the product from home). Our product is available as Xamarin authored tablet
> and phone apps for three platforms, but they won't even allow our apps on
> their company devices.
>
> So for the first time we are forced to produce a "browser based" version
> of our product, which apparently is acceptable to their security policies
> and audits. Here are some issues swirling in my head:
>
>- The backend services to drive the product are established.
>- The UIs of other product versions are explorer (master-detail)
>style, so it would be nice to maintain that feel in the browser.
>- We have to display data in Excel-like tables and a variety of charts
>(the richer and more interactive the better).
>- Should we use server-side ASP.NET Web Forms or MVC to drive it?
>- Should it be browser-side SPA? (you know I hate JS everything, so
>there is personal resistance there).
>- Could server-side and browser-side be combined to produce a better
>hybrid experience? Are there things to help you do that?
>- There are development platforms such as GTK and many others I guess
>that I'm not familiar with. Are they viable?
>- Other issues I'm forgetting?
>
>
> I'm personally familiar with ASP.NET Web Forms and MVC, but not with
> quality JS, layout or styling. Perhaps I could write a black-and-white
> skeleton of the working product and then give it to someone to style and
> script (I have done that once before).
>
> So in summary (I know this is a very broad question) ... if you were in my
> position, how would you proceed to produce a browser based version of a
> product?
>
> Cheers,
> *Greg K*
>
>


Re: Creating a browser-based product

2017-11-28 Thread David Burstin
Hi Greg,

I strongly recommend this course:
https://app.pluralsight.com/library/courses/angular-fundamentals/table-of-contents

It's an excellent course including some Plunkr exercise files, so you can
see each part in action.

On first view, the project structure is bewildering, but once you
understand it, it all makes sense, I think it is an excellent example of
SRP - each component has it's own section in the app folder dealing with
its single responsibility.

There is an initial learning curve, but in my experience it is not very
big. After the first section of the linked course it should all make sense
and stop your eyes bleeding.

Regards
David

On 29 November 2017 at 12:23, Greg Keogh  wrote:

> I am not really sure what VS 2017 does, I always just install Node
>> separately. Node is not a webserver, although you can build a webserver on
>> it, it is a runtime. So it is not serving anything. The Angular CLI and
>> tools are built on it.
>>
>
> I installed Node.js from the main site's MSI download. The Angular project
> I generated earlier now compiles (with 150 conflicts) and runs and shows a
> Hello world web page in a browser. It throws the equivalent of a null
> reference exception each time I navigate, but it seems to keep running
> (it's alarming that the throw is in a js file that has 92879 lines of code).
>
> The structure of the project is bewildering. It contains an 'app' folder
> which seems to contain the Angular code, it also contains Razor files, C#
> code and WebApi controllers. It's a complete jumble. Is this just because
> it's a demo or would you really develop with this structure?
>
> I've been reading MSDN magazine articles on JS development regularly, but
> the project and code and structure is unlike anything I expected when I
> dive in. It's a gigantic muddle. I still can't figure out what the hell the
> Node.js runtime is doing.
>
> I haven't yet watched any Angular tutorial videos (which I might do
> today), but first impressions are important, and my first impression of
> everything I've seen so far with Angular/JS is like a dumpster bin full of
> burning nappies.
>
> I was hoping to do a crash course on Angular and perhaps get started, but
> there is no obvious guidance about how to proceed into the morass of
> components and files. It's an order of magnitude more complex than any
> development environment I've seen in 30+ years ... why?
>
> *GK*
>


Re: Creating a browser-based product

2017-11-28 Thread Greg Keogh
>
> I am not really sure what VS 2017 does, I always just install Node
> separately. Node is not a webserver, although you can build a webserver on
> it, it is a runtime. So it is not serving anything. The Angular CLI and
> tools are built on it.
>

I installed Node.js from the main site's MSI download. The Angular project
I generated earlier now compiles (with 150 conflicts) and runs and shows a
Hello world web page in a browser. It throws the equivalent of a null
reference exception each time I navigate, but it seems to keep running
(it's alarming that the throw is in a js file that has 92879 lines of code).

The structure of the project is bewildering. It contains an 'app' folder
which seems to contain the Angular code, it also contains Razor files, C#
code and WebApi controllers. It's a complete jumble. Is this just because
it's a demo or would you really develop with this structure?

I've been reading MSDN magazine articles on JS development regularly, but
the project and code and structure is unlike anything I expected when I
dive in. It's a gigantic muddle. I still can't figure out what the hell the
Node.js runtime is doing.

I haven't yet watched any Angular tutorial videos (which I might do today),
but first impressions are important, and my first impression of everything
I've seen so far with Angular/JS is like a dumpster bin full of burning
nappies.

I was hoping to do a crash course on Angular and perhaps get started, but
there is no obvious guidance about how to proceed into the morass of
components and files. It's an order of magnitude more complex than any
development environment I've seen in 30+ years ... why?

*GK*


Re: Creating a browser-based product

2017-11-28 Thread Tony Wright
Node needs to be installed separately.

You don't have to do anything else, it gets used behind the scenes. Its not
a service. Some packages hook into it.




On 29 Nov 2017 11:40 AM, "Greg Keogh"  wrote:

Yes you need to install node js. And it's not just angular - it's
> javascript in general.
>

I've added the Node.js component to my VS2017 installation.

But now what? Is the Node.js server part of VS2017, or do I install it
separately? Does it run continuously as a service of some kind, or do I run
it manually while developing, or does something else host it automatically?
What's it serving anyway while I'm developing (I have no intention of using
it)?

*Greg K*


Re: Creating a browser-based product

2017-11-28 Thread Greg Keogh
>
> Yes you need to install node js. And it's not just angular - it's
> javascript in general.
>

I've added the Node.js component to my VS2017 installation.

But now what? Is the Node.js server part of VS2017, or do I install it
separately? Does it run continuously as a service of some kind, or do I run
it manually while developing, or does something else host it automatically?
What's it serving anyway while I'm developing (I have no intention of using
it)?

*Greg K*


Re: Creating a browser-based product

2017-11-28 Thread Craig van Nieuwkerk
Having said that, you shouldn't need to deploy Node in production, it is
just for the tooling.

On Wed, Nov 29, 2017 at 9:38 AM, Craig van Nieuwkerk 
wrote:

> All the Angular (and almost every Js framework) tooling is built with
> Node, so on you dev machines at least you are unlikely to be able to get
> away from it. Going forward, unless you are planning on building something
> bare bones with no framework I think there is not much chance of being able
> to not have a dependency on Node.
>
> https://i.redd.it/tfugj4n3l6ez.png
>
> On Wed, Nov 29, 2017 at 9:21 AM, Greg Keogh  wrote:
>
>> Folks, just a heads-up for the unprepared.
>>
>> Following a suggestion from Craig I used the command "dotnet new angular"
>> to create a fresh Angular Visual Studio project. I've had no need to use
>> .NET Core since it came out, so it's interesting to look at the help for
>> the various options. The Angular project is generated with 45 files in 19
>> folders. After you open it in VS2017 it runs a quiet frenzy of downloads
>> into the node_modules folder, this produces 13478 files in 1715 folders
>> containing roughly 1.7 million lines of JavaScript.
>>
>> Now pardon me ... but is this crazy?! What I mean is, is this typical of
>> an Angular project or is the default project incompletely or incorrectly
>> configured? It's like creating a .NET traditional project and having the
>> complete Framework source code included. I don't recall any concept of a
>> "compiled library" for JavaScript, so I'm guessing such a thing hasn't been
>> invented yet, is that right?
>>
>> I tried running the project but after giving me 150 package conflict
>> warnings it stops and tells me "Node.js is required to build and run this
>> project". Now I'm confused, as why on earth would that be needed? I was
>> hoping to avoid Node.js completely as the backend of our proposed app is a
>> working WebApi.
>>
>> I will be posting a formal request in here soon for anyone who can help
>> us develop a browser-based product.
>>
>> *Greg K*
>>
>> On 17 November 2017 at 10:13, Craig van Nieuwkerk 
>> wrote:
>>
>>> If you backend services are well established and you could easily put a
>>> WebAPI over them, then it makes sense to do a SPA and mainly Javascript
>>> front end.
>>>
>>> If it is an enterprisey type app then it is hard to go past Angular,
>>> Pluralsight is your friend to learn. I would also talk to ssw.com.au,
>>> they have some good courses that will get you running in the right
>>> direction quickly.
>>>
>>> Craig
>>>
>>> On Fri, Nov 17, 2017 at 9:14 AM, Greg Keogh  wrote:
>>>
 Folks, we have a serious decision to make about the future directions
 of our 10 year old Silverlight product that is in wide use in some big
 companies. I told the boss I'd poll this forum for advice, so I'd really
 appreciate serious comments from people in-the-know.

 The large companies using the Silverlight product are now locking down
 security, so Internet Explorer is being banned and Edge adopted, which
 means Silverlight is out (some employees are already being forced to use
 the product from home). Our product is available as Xamarin authored tablet
 and phone apps for three platforms, but they won't even allow our apps on
 their company devices.

 So for the first time we are forced to produce a "browser based"
 version of our product, which apparently is acceptable to their security
 policies and audits. Here are some issues swirling in my head:

- The backend services to drive the product are established.
- The UIs of other product versions are explorer (master-detail)
style, so it would be nice to maintain that feel in the browser.
- We have to display data in Excel-like tables and a variety of
charts (the richer and more interactive the better).
- Should we use server-side ASP.NET Web Forms or MVC to drive it?
- Should it be browser-side SPA? (you know I hate JS everything, so
there is personal resistance there).
- Could server-side and browser-side be combined to produce a
better hybrid experience? Are there things to help you do that?
- There are development platforms such as GTK and many others I
guess that I'm not familiar with. Are they viable?
- Other issues I'm forgetting?


 I'm personally familiar with ASP.NET Web Forms and MVC, but not with
 quality JS, layout or styling. Perhaps I could write a black-and-white
 skeleton of the working product and then give it to someone to style and
 script (I have done that once before).

 So in summary (I know this is a very broad question) ... if you were in
 my position, how would you proceed to produce a browser based version of a
 product?

 Cheers,
 *Greg K*


>>>
>>
>


Re: Creating a browser-based product

2017-11-28 Thread Craig van Nieuwkerk
All the Angular (and almost every Js framework) tooling is built with Node,
so on you dev machines at least you are unlikely to be able to get away
from it. Going forward, unless you are planning on building something bare
bones with no framework I think there is not much chance of being able to
not have a dependency on Node.

https://i.redd.it/tfugj4n3l6ez.png

On Wed, Nov 29, 2017 at 9:21 AM, Greg Keogh  wrote:

> Folks, just a heads-up for the unprepared.
>
> Following a suggestion from Craig I used the command "dotnet new angular"
> to create a fresh Angular Visual Studio project. I've had no need to use
> .NET Core since it came out, so it's interesting to look at the help for
> the various options. The Angular project is generated with 45 files in 19
> folders. After you open it in VS2017 it runs a quiet frenzy of downloads
> into the node_modules folder, this produces 13478 files in 1715 folders
> containing roughly 1.7 million lines of JavaScript.
>
> Now pardon me ... but is this crazy?! What I mean is, is this typical of
> an Angular project or is the default project incompletely or incorrectly
> configured? It's like creating a .NET traditional project and having the
> complete Framework source code included. I don't recall any concept of a
> "compiled library" for JavaScript, so I'm guessing such a thing hasn't been
> invented yet, is that right?
>
> I tried running the project but after giving me 150 package conflict
> warnings it stops and tells me "Node.js is required to build and run this
> project". Now I'm confused, as why on earth would that be needed? I was
> hoping to avoid Node.js completely as the backend of our proposed app is a
> working WebApi.
>
> I will be posting a formal request in here soon for anyone who can help us
> develop a browser-based product.
>
> *Greg K*
>
> On 17 November 2017 at 10:13, Craig van Nieuwkerk 
> wrote:
>
>> If you backend services are well established and you could easily put a
>> WebAPI over them, then it makes sense to do a SPA and mainly Javascript
>> front end.
>>
>> If it is an enterprisey type app then it is hard to go past Angular,
>> Pluralsight is your friend to learn. I would also talk to ssw.com.au,
>> they have some good courses that will get you running in the right
>> direction quickly.
>>
>> Craig
>>
>> On Fri, Nov 17, 2017 at 9:14 AM, Greg Keogh  wrote:
>>
>>> Folks, we have a serious decision to make about the future directions of
>>> our 10 year old Silverlight product that is in wide use in some big
>>> companies. I told the boss I'd poll this forum for advice, so I'd really
>>> appreciate serious comments from people in-the-know.
>>>
>>> The large companies using the Silverlight product are now locking down
>>> security, so Internet Explorer is being banned and Edge adopted, which
>>> means Silverlight is out (some employees are already being forced to use
>>> the product from home). Our product is available as Xamarin authored tablet
>>> and phone apps for three platforms, but they won't even allow our apps on
>>> their company devices.
>>>
>>> So for the first time we are forced to produce a "browser based" version
>>> of our product, which apparently is acceptable to their security policies
>>> and audits. Here are some issues swirling in my head:
>>>
>>>- The backend services to drive the product are established.
>>>- The UIs of other product versions are explorer (master-detail)
>>>style, so it would be nice to maintain that feel in the browser.
>>>- We have to display data in Excel-like tables and a variety of
>>>charts (the richer and more interactive the better).
>>>- Should we use server-side ASP.NET Web Forms or MVC to drive it?
>>>- Should it be browser-side SPA? (you know I hate JS everything, so
>>>there is personal resistance there).
>>>- Could server-side and browser-side be combined to produce a better
>>>hybrid experience? Are there things to help you do that?
>>>- There are development platforms such as GTK and many others I
>>>guess that I'm not familiar with. Are they viable?
>>>- Other issues I'm forgetting?
>>>
>>>
>>> I'm personally familiar with ASP.NET Web Forms and MVC, but not with
>>> quality JS, layout or styling. Perhaps I could write a black-and-white
>>> skeleton of the working product and then give it to someone to style and
>>> script (I have done that once before).
>>>
>>> So in summary (I know this is a very broad question) ... if you were in
>>> my position, how would you proceed to produce a browser based version of a
>>> product?
>>>
>>> Cheers,
>>> *Greg K*
>>>
>>>
>>
>


Re: Creating a browser-based product

2017-11-28 Thread Tony Wright
Yes you need to install node js. And it's not just angular - it's
javascript in general. Node_modules is the destination for any javascript
libraries installed via the npm (node package manager).  You then reference
library scripts directly from their location under node_modules. These
aren't generally source controlled either. Javascript does get compiled to
.map files but that's as far as it goes.

On 29 Nov 2017 9:22 AM, "Greg Keogh"  wrote:

Folks, just a heads-up for the unprepared.

Following a suggestion from Craig I used the command "dotnet new angular"
to create a fresh Angular Visual Studio project. I've had no need to use
.NET Core since it came out, so it's interesting to look at the help for
the various options. The Angular project is generated with 45 files in 19
folders. After you open it in VS2017 it runs a quiet frenzy of downloads
into the node_modules folder, this produces 13478 files in 1715 folders
containing roughly 1.7 million lines of JavaScript.

Now pardon me ... but is this crazy?! What I mean is, is this typical of an
Angular project or is the default project incompletely or incorrectly
configured? It's like creating a .NET traditional project and having the
complete Framework source code included. I don't recall any concept of a
"compiled library" for JavaScript, so I'm guessing such a thing hasn't been
invented yet, is that right?

I tried running the project but after giving me 150 package conflict
warnings it stops and tells me "Node.js is required to build and run this
project". Now I'm confused, as why on earth would that be needed? I was
hoping to avoid Node.js completely as the backend of our proposed app is a
working WebApi.

I will be posting a formal request in here soon for anyone who can help us
develop a browser-based product.

*Greg K*

On 17 November 2017 at 10:13, Craig van Nieuwkerk  wrote:

> If you backend services are well established and you could easily put a
> WebAPI over them, then it makes sense to do a SPA and mainly Javascript
> front end.
>
> If it is an enterprisey type app then it is hard to go past Angular,
> Pluralsight is your friend to learn. I would also talk to ssw.com.au,
> they have some good courses that will get you running in the right
> direction quickly.
>
> Craig
>
> On Fri, Nov 17, 2017 at 9:14 AM, Greg Keogh  wrote:
>
>> Folks, we have a serious decision to make about the future directions of
>> our 10 year old Silverlight product that is in wide use in some big
>> companies. I told the boss I'd poll this forum for advice, so I'd really
>> appreciate serious comments from people in-the-know.
>>
>> The large companies using the Silverlight product are now locking down
>> security, so Internet Explorer is being banned and Edge adopted, which
>> means Silverlight is out (some employees are already being forced to use
>> the product from home). Our product is available as Xamarin authored tablet
>> and phone apps for three platforms, but they won't even allow our apps on
>> their company devices.
>>
>> So for the first time we are forced to produce a "browser based" version
>> of our product, which apparently is acceptable to their security policies
>> and audits. Here are some issues swirling in my head:
>>
>>- The backend services to drive the product are established.
>>- The UIs of other product versions are explorer (master-detail)
>>style, so it would be nice to maintain that feel in the browser.
>>- We have to display data in Excel-like tables and a variety of
>>charts (the richer and more interactive the better).
>>- Should we use server-side ASP.NET Web Forms or MVC to drive it?
>>- Should it be browser-side SPA? (you know I hate JS everything, so
>>there is personal resistance there).
>>- Could server-side and browser-side be combined to produce a better
>>hybrid experience? Are there things to help you do that?
>>- There are development platforms such as GTK and many others I guess
>>that I'm not familiar with. Are they viable?
>>- Other issues I'm forgetting?
>>
>>
>> I'm personally familiar with ASP.NET Web Forms and MVC, but not with
>> quality JS, layout or styling. Perhaps I could write a black-and-white
>> skeleton of the working product and then give it to someone to style and
>> script (I have done that once before).
>>
>> So in summary (I know this is a very broad question) ... if you were in
>> my position, how would you proceed to produce a browser based version of a
>> product?
>>
>> Cheers,
>> *Greg K*
>>
>>
>


Re: Creating a browser-based product

2017-11-28 Thread Greg Keogh
Folks, just a heads-up for the unprepared.

Following a suggestion from Craig I used the command "dotnet new angular"
to create a fresh Angular Visual Studio project. I've had no need to use
.NET Core since it came out, so it's interesting to look at the help for
the various options. The Angular project is generated with 45 files in 19
folders. After you open it in VS2017 it runs a quiet frenzy of downloads
into the node_modules folder, this produces 13478 files in 1715 folders
containing roughly 1.7 million lines of JavaScript.

Now pardon me ... but is this crazy?! What I mean is, is this typical of an
Angular project or is the default project incompletely or incorrectly
configured? It's like creating a .NET traditional project and having the
complete Framework source code included. I don't recall any concept of a
"compiled library" for JavaScript, so I'm guessing such a thing hasn't been
invented yet, is that right?

I tried running the project but after giving me 150 package conflict
warnings it stops and tells me "Node.js is required to build and run this
project". Now I'm confused, as why on earth would that be needed? I was
hoping to avoid Node.js completely as the backend of our proposed app is a
working WebApi.

I will be posting a formal request in here soon for anyone who can help us
develop a browser-based product.

*Greg K*

On 17 November 2017 at 10:13, Craig van Nieuwkerk  wrote:

> If you backend services are well established and you could easily put a
> WebAPI over them, then it makes sense to do a SPA and mainly Javascript
> front end.
>
> If it is an enterprisey type app then it is hard to go past Angular,
> Pluralsight is your friend to learn. I would also talk to ssw.com.au,
> they have some good courses that will get you running in the right
> direction quickly.
>
> Craig
>
> On Fri, Nov 17, 2017 at 9:14 AM, Greg Keogh  wrote:
>
>> Folks, we have a serious decision to make about the future directions of
>> our 10 year old Silverlight product that is in wide use in some big
>> companies. I told the boss I'd poll this forum for advice, so I'd really
>> appreciate serious comments from people in-the-know.
>>
>> The large companies using the Silverlight product are now locking down
>> security, so Internet Explorer is being banned and Edge adopted, which
>> means Silverlight is out (some employees are already being forced to use
>> the product from home). Our product is available as Xamarin authored tablet
>> and phone apps for three platforms, but they won't even allow our apps on
>> their company devices.
>>
>> So for the first time we are forced to produce a "browser based" version
>> of our product, which apparently is acceptable to their security policies
>> and audits. Here are some issues swirling in my head:
>>
>>- The backend services to drive the product are established.
>>- The UIs of other product versions are explorer (master-detail)
>>style, so it would be nice to maintain that feel in the browser.
>>- We have to display data in Excel-like tables and a variety of
>>charts (the richer and more interactive the better).
>>- Should we use server-side ASP.NET Web Forms or MVC to drive it?
>>- Should it be browser-side SPA? (you know I hate JS everything, so
>>there is personal resistance there).
>>- Could server-side and browser-side be combined to produce a better
>>hybrid experience? Are there things to help you do that?
>>- There are development platforms such as GTK and many others I guess
>>that I'm not familiar with. Are they viable?
>>- Other issues I'm forgetting?
>>
>>
>> I'm personally familiar with ASP.NET Web Forms and MVC, but not with
>> quality JS, layout or styling. Perhaps I could write a black-and-white
>> skeleton of the working product and then give it to someone to style and
>> script (I have done that once before).
>>
>> So in summary (I know this is a very broad question) ... if you were in
>> my position, how would you proceed to produce a browser based version of a
>> product?
>>
>> Cheers,
>> *Greg K*
>>
>>
>